artdaq  v2_02_03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
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 
41  CopyStatus copyFragment(artdaq::Fragment&, size_t) override
42  {
43  return CopyStatus::kSuccess;
44  }
45 
50  CopyStatus moveFragment(artdaq::Fragment&&, size_t) override
51  {
52  return CopyStatus::kSuccess;
53  }
54  };
55 }
56 
57 artdaq::NullTransfer::NullTransfer(const fhicl::ParameterSet& pset, Role role)
58  : TransferInterface(pset, role) {}
59 
60 DEFINE_ARTDAQ_TRANSFER(artdaq::NullTransfer)
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
virtual ~NullTransfer()=default
NullTransfer default Destructor.
int source_rank() const
Get the source rank for this TransferInterface instance.
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.
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.