|
artdaq
v3_09_05
|
RTIDDSTransfer is a TransferInterface implementation plugin that transfers data using RTI DDS. More...
Public Member Functions | |
| virtual | ~RTIDDSTransfer ()=default |
| RTIDDSTransfer default Destructor. | |
| RTIDDSTransfer (fhicl::ParameterSet const &ps, Role role) | |
| RTIDDSTransfer Constructor. More... | |
| int | receiveFragment (artdaq::Fragment &fragment, size_t receiveTimeout) override |
| Receive a Fragment using DDS. More... | |
| CopyStatus | transfer_fragment_min_blocking_mode (artdaq::Fragment const &fragment, size_t send_timeout_usec=std::numeric_limits< size_t >::max()) override |
| Transfer a Fragment to the destination. May not necessarily be reliable, but will not block longer than send_timeout_usec. More... | |
| CopyStatus | transfer_fragment_reliable_mode (artdaq::Fragment &&fragment) override |
| Transfer a Fragment to the destination. This should be reliable, if the underlying transport mechanism supports reliable sending. More... | |
| bool | isRunning () override |
| Determine whether the TransferInterface plugin is able to send/receive data. More... | |
| void | flush_buffers () override |
| Flush any in-flight data. This should be used by the receiver after the receive loop has ended. | |
Public Member Functions inherited from artdaq::TransferInterface | |
| TransferInterface (const fhicl::ParameterSet &ps, Role role) | |
| TransferInterface Constructor. More... | |
| TransferInterface (const TransferInterface &)=delete | |
| Copy Constructor is deleted. | |
| TransferInterface & | operator= (const TransferInterface &)=delete |
| Copy Assignment operator is deleted. More... | |
| virtual | ~TransferInterface ()=default |
| Default virtual Destructor. | |
| virtual int | receiveFragmentHeader (detail::RawFragmentHeader &header, size_t receiveTimeout)=0 |
| Receive a Fragment Header from the transport mechanism. More... | |
| virtual int | receiveFragmentData (RawDataType *destination, size_t wordCount)=0 |
| Receive the body of a Fragment to the given destination pointer. More... | |
| std::string | uniqueLabel () const |
| Get the unique label of this TransferInterface instance. More... | |
| virtual int | source_rank () const |
| Get the source rank for this TransferInterface instance. More... | |
| virtual int | destination_rank () const |
| Get the destination rank for this TransferInterface instance. More... | |
Additional Inherited Members | |
Public Types inherited from artdaq::TransferInterface | |
| enum | ReceiveReturnCode : int { DATA_END = -2222, RECV_TIMEOUT = -1111, NO_RANK_INFO = -1, RECV_SUCCESS = 0 } |
| Return codes from receive operations More... | |
| enum | Role { Role::kSend, Role::kReceive } |
| Used to determine if a TransferInterface is a Sender or Receiver. More... | |
| enum | CopyStatus { CopyStatus::kSuccess, CopyStatus::kTimeout, CopyStatus::kErrorNotRequiringException } |
| 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. More... | |
| using | Parameters = fhicl::WrappedTable< Config > |
| Used for ParameterSet validation (if desired) | |
Static Public Member Functions inherited from artdaq::TransferInterface | |
| static std::string | CopyStatusToString (CopyStatus in) |
| Convert a CopyStatus variable to its string represenatation More... | |
Protected Member Functions inherited from artdaq::TransferInterface | |
| TransferInterface (TransferInterface &&)=delete | |
| Move Constructor is deleted. | |
| TransferInterface & | operator= (TransferInterface &&)=delete |
| Move Assignment Operator is deleted. | |
| Role | role () const |
| Get the TransferInterface::Role of this TransferInterface. More... | |
Protected Attributes inherited from artdaq::TransferInterface | |
| const Role | role_ |
| Whether this instance of TransferInterface is a sender or receiver. | |
| const int | source_rank_ |
| Rank of source. | |
| const int | destination_rank_ |
| Rank of destination. | |
| const std::string | unique_label_ |
| Unique label of transfer (ideally the same on sender and receiver) | |
| size_t | buffer_count_ |
| The number of Fragment transfers the TransferInterface can handle simultaneously. | |
| const size_t | max_fragment_size_words_ |
| The maximum size of the transferred Fragment objects, in artdaq::Fragment::RawDataType words. | |
RTIDDSTransfer is a TransferInterface implementation plugin that transfers data using RTI DDS.
Definition at line 19 of file RTIDDS_transfer.cc.
|
inline |
RTIDDSTransfer Constructor.
| ps | ParameterSet used to configure RTIDDSTransfer |
| role | Role of this RTIDDSTransfer instance (kSend or kReceive) |
RTIDDSTransfer only requires the Parameters for configuring a TransferInterface
Definition at line 34 of file RTIDDS_transfer.cc.
|
inlineoverridevirtual |
Determine whether the TransferInterface plugin is able to send/receive data.
Reimplemented from artdaq::TransferInterface.
Definition at line 68 of file RTIDDS_transfer.cc.
|
overridevirtual |
Receive a Fragment using DDS.
| [out] | fragment | Received Fragment |
| receiveTimeout | Timeout for receive, in microseconds |
Reimplemented from artdaq::TransferInterface.
Definition at line 91 of file RTIDDS_transfer.cc.
|
overridevirtual |
Transfer a Fragment to the destination. May not necessarily be reliable, but will not block longer than send_timeout_usec.
| fragment | Fragment to transfer |
| send_timeout_usec | Timeout for send, in microseconds |
Implements artdaq::TransferInterface.
Definition at line 136 of file RTIDDS_transfer.cc.
|
overridevirtual |
Transfer a Fragment to the destination. This should be reliable, if the underlying transport mechanism supports reliable sending.
| fragment | Fragment to transfer |
Implements artdaq::TransferInterface.
Definition at line 129 of file RTIDDS_transfer.cc.