ewmscp  ..
Classes | Typedefs | Enumerations | Functions
copyRequest Namespace Reference

Classes

class  base
 class for copy requests. More...
 
class  checksumTest
 class for checking if checksums match expectations Extends the copyRequest::base class with new printResults function that checks if sums match expected values and prints results in a way compatible with e.g. More...
 
class  exceptionList
 
class  fileInWork
 This class holds info aboput a file that is "in work" in some way. More...
 
class  listingRequest
 class for checking if checksums match expectations Extends the copyRequest::base class with new printResults function that checks if sums match expected values and prints results in a way compatible with e.g. More...
 
class  perThreadData
 class for thread-specific data More...
 
class  stateType
 

Typedefs

typedef waitQueues::simple< blockblockQueue
 
typedef waitQueues::simple< copyRequest::basesimpleQueue
 simple first-in first-out queue. More...
 
typedef waitQueues::timed< copyRequest::basetimedQueue
 for delayed processing: returns elements when due. More...
 
typedef std::chrono::system_clock clock_type
 type for time measurements More...
 

Enumerations

enum  backupModeType {
  backupModeType::none, backupModeType::before, backupModeType::during, backupModeType::after,
  backupModeType::remove
}
 
enum  stateBitType {
  stateBitType::fileToBeCopied = 1 << 0, stateBitType::linkToBeMade = 1 << 1, stateBitType::fileToBeRemoved = 1 << 2, stateBitType::fileToBeRenamed = 1 << 3,
  stateBitType::vanished = 1 << 4, stateBitType::ignore = 1 << 5, stateBitType::trucated = 1 << 6, stateBitType::inWork = 1 << 7,
  stateBitType::failed = 1 << 8, stateBitType::done = 1 << 9, stateBitType::append = 1 << 10, stateBitType::attributeMismatch = 1 << 11,
  stateBitType::noActionNeeded = vanished | ignore, stateBitType::action = fileToBeCopied | linkToBeMade | fileToBeRemoved | fileToBeRenamed
}
 

Functions

std::ostream & operator<< (std::ostream &stream, const copyRequest::clock_type::time_point &t)
 
std::ostream & operator<< (std::ostream &out, const base &request)
 
std::ostream & operator<< (std::ostream &stream, fileInWork::slotTypes t)
 

Typedef Documentation

◆ blockQueue

Definition at line 63 of file copyRequest.h.

◆ clock_type

typedef std::chrono::system_clock copyRequest::clock_type

type for time measurements

Definition at line 46 of file copyRequestTypes.h.

◆ simpleQueue

simple first-in first-out queue.

Definition at line 41 of file copyRequestTypes.h.

◆ timedQueue

for delayed processing: returns elements when due.

Definition at line 43 of file copyRequestTypes.h.

Enumeration Type Documentation

◆ backupModeType

Enumerator
none 
before 
during 
after 
remove 

Definition at line 55 of file copyRequest.h.

55  {
56  none,
57  before,
58  during,
59  after,
60  remove
61  };

◆ stateBitType

Enumerator
fileToBeCopied 
linkToBeMade 
fileToBeRemoved 
fileToBeRenamed 
vanished 
ignore 
trucated 
inWork 
failed 
done 
append 
attributeMismatch 
noActionNeeded 
action 

Definition at line 50 of file copyRequestTypes.h.

50  {
51  fileToBeCopied = 1 << 0,
52  linkToBeMade = 1 << 1,
53  fileToBeRemoved = 1 << 2,
54  fileToBeRenamed = 1 << 3,
55  vanished = 1 << 4,
56  ignore = 1 << 5,
57  trucated = 1 << 6,
58  inWork = 1 << 7,
59  failed = 1 << 8,
60  done = 1 << 9,
61  append = 1 << 10,
62  attributeMismatch = 1 << 11,
65  };

Function Documentation

◆ operator<<() [1/3]

std::ostream& copyRequest::operator<< ( std::ostream &  out,
const base request 
)

Definition at line 1952 of file copyRequest.cpp.

1952  {
1953  out << std::fixed;
1954  out << " request " << static_cast<const void*>(&request);
1955  out << " for '" << request.source << "' to '" << request.destination << "'";
1956  out << " state " << std::hex << static_cast<unsigned>(request.state) << std::dec;
1957  out << " tInotify " << request.tInotify;
1958  out << " tEarliest " << request.filesInWorkIterator->second.getEarliestprocessTime();
1959  out << " now: " << clock_type::now() << "\n";
1960  return out;
1961  }

References copyRequest::base::destination, copyRequest::base::filesInWorkIterator, copyRequest::base::source, copyRequest::base::state, and copyRequest::base::tInotify.

◆ operator<<() [2/3]

std::ostream& copyRequest::operator<< ( std::ostream &  stream,
const copyRequest::clock_type::time_point &  t 
)

Definition at line 1946 of file copyRequest.cpp.

1947  {
1948  stream << std::chrono::duration_cast<std::chrono::duration<double>>(t.time_since_epoch()).count();
1949  return stream;
1950  }

◆ operator<<() [3/3]

std::ostream& copyRequest::operator<< ( std::ostream &  stream,
fileInWork::slotTypes  t 
)

Definition at line 10 of file fileInWork.cpp.

11  {
12  switch (t) {
13  case fileInWork::slotTypes::none:
14  stream << "none";
15  break;
16  case fileInWork::slotTypes::copy:
17  stream << "copy";
18  break;
19  case fileInWork::slotTypes::move:
20  stream << "move";
21  break;
22  case fileInWork::slotTypes::unlink:
23  stream << "unlink";
24  break;
25  default:
26  stream << "oops";
27  break;
28  }
29  return stream;
30  }

References copyRequest::fileInWork::copy, copyRequest::fileInWork::move, copyRequest::fileInWork::none, and copyRequest::fileInWork::unlink.

copyRequest::backupModeType::during
@ during
copyRequest::backupModeType::before
@ before
copyRequest::backupModeType::after
@ after
copyRequest::stateBitType::attributeMismatch
@ attributeMismatch
copyRequest::stateBitType::fileToBeCopied
@ fileToBeCopied
copyRequest::stateBitType::inWork
@ inWork
copyRequest::stateBitType::done
@ done
copyRequest::stateBitType::failed
@ failed
copyRequest::backupModeType::none
@ none
copyRequest::stateBitType::fileToBeRemoved
@ fileToBeRemoved
copyRequest::stateBitType::trucated
@ trucated
copyRequest::stateBitType::fileToBeRenamed
@ fileToBeRenamed
copyRequest::stateBitType::action
@ action
copyRequest::stateBitType::noActionNeeded
@ noActionNeeded
copyRequest::stateBitType::linkToBeMade
@ linkToBeMade
watchDirectoryReturnType::vanished
@ vanished
watchDirectoryReturnType::ignore
@ ignore
copyRequest::stateBitType::append
@ append
copyRequest::backupModeType::remove
@ remove