00001 #include "artdaq/TransferPlugins/TransferInterface.hh" 00002 00003 namespace artdaq 00004 { 00008 class NullTransfer : public TransferInterface 00009 { 00010 public: 00018 NullTransfer(const fhicl::ParameterSet& pset, Role role); 00019 00023 virtual ~NullTransfer() = default; 00024 00032 int receiveFragment(artdaq::Fragment&, size_t) override 00033 { 00034 return source_rank(); 00035 } 00036 00044 int receiveFragmentHeader(detail::RawFragmentHeader&, size_t) override 00045 { 00046 return source_rank(); 00047 } 00048 00056 int receiveFragmentData(RawDataType*, size_t) override 00057 { 00058 return source_rank(); 00059 } 00060 00065 CopyStatus copyFragment(artdaq::Fragment&, size_t) override 00066 { 00067 return CopyStatus::kSuccess; 00068 } 00069 00074 CopyStatus moveFragment(artdaq::Fragment&&) override 00075 { 00076 return CopyStatus::kSuccess; 00077 } 00078 }; 00079 } 00080 00081 artdaq::NullTransfer::NullTransfer(const fhicl::ParameterSet& pset, Role role) 00082 : TransferInterface(pset, role) {} 00083 00084 DEFINE_ARTDAQ_TRANSFER(artdaq::NullTransfer)