The AutodetectTransfer TransferInterface plugin sets up a Shmem_transfer plugin or TCPSocket_transfer plugin depending if the source and destination are on the same host, to maximize throughput. More...
Public Member Functions | |
AutodetectTransfer (const fhicl::ParameterSet &pset, Role role) | |
AutodetectTransfer Constructor. | |
virtual | ~AutodetectTransfer () |
AutodetectTransfer default Destructor. | |
int | receiveFragment (artdaq::Fragment &fragment, size_t receiveTimeout) override |
Receive a Fragment, using the underlying transfer plugin. | |
CopyStatus | copyFragment (artdaq::Fragment &fragment, size_t send_timeout_usec=std::numeric_limits< size_t >::max()) override |
Send a Fragment in non-reliable mode, using the underlying transfer plugin. | |
CopyStatus | moveFragment (artdaq::Fragment &&fragment, size_t send_timeout_usec=std::numeric_limits< size_t >::max()) override |
Send a Fragment in reliable mode, using the underlying transfer plugin. |
The AutodetectTransfer TransferInterface plugin sets up a Shmem_transfer plugin or TCPSocket_transfer plugin depending if the source and destination are on the same host, to maximize throughput.
Definition at line 13 of file Autodetect_transfer.cc.
artdaq::AutodetectTransfer::AutodetectTransfer | ( | const fhicl::ParameterSet & | pset, | |
Role | role | |||
) |
AutodetectTransfer Constructor.
pset | ParameterSet used to configure AutodetectTransfer | |
role | Role of this TransferInterface, either kReceive or kSend |
Definition at line 69 of file Autodetect_transfer.cc.
CopyStatus artdaq::AutodetectTransfer::copyFragment | ( | artdaq::Fragment & | fragment, | |
size_t | send_timeout_usec = std::numeric_limits<size_t>::max() | |||
) | [inline, override, virtual] |
Send a Fragment in non-reliable mode, using the underlying transfer plugin.
fragment | The Fragment to send | |
send_timeout_usec | How long to wait before aborting. Defaults to size_t::MAX_VALUE |
Implements artdaq::TransferInterface.
Definition at line 46 of file Autodetect_transfer.cc.
CopyStatus artdaq::AutodetectTransfer::moveFragment | ( | artdaq::Fragment && | fragment, | |
size_t | send_timeout_usec = std::numeric_limits<size_t>::max() | |||
) | [inline, override, virtual] |
Send a Fragment in reliable mode, using the underlying transfer plugin.
fragment | The Fragment to send | |
send_timeout_usec | How long to wait before aborting. Defaults to size_t::MAX_VALUE |
Implements artdaq::TransferInterface.
Definition at line 58 of file Autodetect_transfer.cc.
int artdaq::AutodetectTransfer::receiveFragment | ( | artdaq::Fragment & | fragment, | |
size_t | receiveTimeout | |||
) | [inline, override, virtual] |
Receive a Fragment, using the underlying transfer plugin.
fragment | Output Fragment | |
receiveTimeout | Time to wait before returning TransferInterface::RECV_TIMEOUT |
Implements artdaq::TransferInterface.
Definition at line 34 of file Autodetect_transfer.cc.