artdaq  v3_00_03
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&&, size_t) override
75  {
76  return CopyStatus::kSuccess;
77  }
78  };
79 }
80 
81 artdaq::NullTransfer::NullTransfer(const fhicl::ParameterSet& pset, Role role)
82  : TransferInterface(pset, role) {}
83 
84 DEFINE_ARTDAQ_TRANSFER(artdaq::NullTransfer)
virtual int source_rank() const
Get the source rank for this TransferInterface instance.
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.
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 moveFragment(artdaq::Fragment &&, size_t) override
Pretend to move a Fragment to a destination.
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.