artdaq  v3_03_00
Null_transfer.cc
1 #include "artdaq/TransferPlugins/TransferInterface.hh"
2 
3 namespace artdaq
4 {
9  {
10  public:
18  NullTransfer(const fhicl::ParameterSet& pset, Role role);
19 
23  virtual ~NullTransfer() = default;
24 
32  int receiveFragment(artdaq::Fragment&, size_t) override
33  {
34  return source_rank();
35  }
36 
44  int receiveFragmentHeader(detail::RawFragmentHeader&, size_t) override
45  {
46  return source_rank();
47  }
48 
56  int receiveFragmentData(RawDataType*, size_t) override
57  {
58  return source_rank();
59  }
60 
65  CopyStatus copyFragment(artdaq::Fragment&, size_t) override
66  {
67  return CopyStatus::kSuccess;
68  }
69 
74  CopyStatus moveFragment(artdaq::Fragment&&) override
75  {
76  return CopyStatus::kSuccess;
77  }
78 
83  bool isRunning() override { return true; }
84  };
85 }
86 
87 artdaq::NullTransfer::NullTransfer(const fhicl::ParameterSet& pset, Role role)
88  : TransferInterface(pset, role) {}
89 
90 DEFINE_ARTDAQ_TRANSFER(artdaq::NullTransfer)
virtual int source_rank() const
Get the source rank for this TransferInterface instance.
bool isRunning() override
Determine whether the TransferInterface plugin is able to send/receive data.
NullTransfer(const fhicl::ParameterSet &pset, Role role)
NullTransfer constructor.
Role role() const
Get the TransferInterface::Role of this TransferInterface.
NullTransfer does not send or receive data, but acts as if it did.
Definition: Null_transfer.cc:8
int receiveFragmentHeader(detail::RawFragmentHeader &, size_t) override
Pretend to receive a Fragment Header.
virtual ~NullTransfer()=default
NullTransfer default Destructor.
CopyStatus moveFragment(artdaq::Fragment &&) override
Pretend to move a Fragment to a destination.
Role
Used to determine if a TransferInterface is a Sender or Receiver.
CopyStatus copyFragment(artdaq::Fragment &, size_t) override
Pretend to copy a Fragment to a destination.
int receiveFragment(artdaq::Fragment &, size_t) override
Pretend to receive a Fragment.
The send operation completed successfully.
This interface defines the functions used to transfer data between artdaq applications.
int receiveFragmentData(RawDataType *, size_t) override
Pretend to receive Fragment Data.
CopyStatus
Returned from the send functions, this enumeration describes the possible return codes. If an exception occurs, it will be thrown and should be handled normally.