artdaq::NthEventTransfer Class Reference

Demonstration TransferInterface plugin showing how to discard events Intended for use in the transfer_to_dispatcher case, NOT for primary data stream! More...

List of all members.

Public Member Functions

 NthEventTransfer (fhicl::ParameterSet const &ps, artdaq::TransferInterface::Role role)
 NthEventTransfer Constructor.
TransferInterface::CopyStatus copyFragment (artdaq::Fragment &fragment, size_t send_timeout_usec=std::numeric_limits< size_t >::max()) override
 Copy a fragment, using the non-reliable channel.
TransferInterface::CopyStatus moveFragment (artdaq::Fragment &&fragment, size_t send_timeout_usec=std::numeric_limits< size_t >::max()) override
 Copy a fragment, using the reliable channel. moveFragment assumes ownership of the fragment.
int receiveFragment (artdaq::Fragment &fragment, size_t receiveTimeout) override
 Receive a fragment from the transfer plugin.
int receiveFragmentHeader (detail::RawFragmentHeader &header, size_t receiveTimeout) override
 Receive a Fragment Header from the transport mechanism.
int receiveFragmentData (RawDataType *destination, size_t wordCount) override
 Receive the body of a Fragment to the given destination pointer.
int source_rank () const
 Get the source rank from the physical transfer.
int destination_rank () const
 Get the destination rank from the physical transfer.

Detailed Description

Demonstration TransferInterface plugin showing how to discard events Intended for use in the transfer_to_dispatcher case, NOT for primary data stream!

Definition at line 28 of file NthEvent_transfer.cc.


Constructor & Destructor Documentation

artdaq::NthEventTransfer::NthEventTransfer ( fhicl::ParameterSet const &  ps,
artdaq::TransferInterface::Role  role 
)

NthEventTransfer Constructor.

Parameters:
ps fhicl::ParameterSet used to configure TransferInterface. Contains "nth", the interval at which events will be transferred, and "physical_transfer_plugin", a table configuring the TransferInterface plugin used for those transfers
role Either kSend or kReceive, see TransferInterface constructor

Definition at line 117 of file NthEvent_transfer.cc.


Member Function Documentation

TransferInterface::CopyStatus artdaq::NthEventTransfer::copyFragment ( artdaq::Fragment &  fragment,
size_t  send_timeout_usec = std::numeric_limits<size_t>::max() 
) [override]

Copy a fragment, using the non-reliable channel.

Parameters:
fragment Fragment to copy
send_timeout_usec Timeout before aborting
Returns:
CopyStatus (either kSuccess, kTimeout, kErrorNotRequiringException or an exception)

Definition at line 143 of file NthEvent_transfer.cc.

int artdaq::NthEventTransfer::destination_rank (  )  const [inline]

Get the destination rank from the physical transfer.

Returns:
The destination rank from the physical transfer

Definition at line 105 of file NthEvent_transfer.cc.

TransferInterface::CopyStatus artdaq::NthEventTransfer::moveFragment ( artdaq::Fragment &&  fragment,
size_t  send_timeout_usec = std::numeric_limits<size_t>::max() 
) [override]

Copy a fragment, using the reliable channel. moveFragment assumes ownership of the fragment.

Parameters:
fragment Fragment to copy
send_timeout_usec Timeout before aborting
Returns:
CopyStatus (either kSuccess, kTimeout, kErrorNotRequiringException or an exception)

Definition at line 158 of file NthEvent_transfer.cc.

int artdaq::NthEventTransfer::receiveFragment ( artdaq::Fragment &  fragment,
size_t  receiveTimeout 
) [inline, override]

Receive a fragment from the transfer plugin.

Parameters:
fragment Reference to output Fragment object
receiveTimeout Timeout before aborting receive
Returns:
Rank of sender or RECV_TIMEOUT

Definition at line 66 of file NthEvent_transfer.cc.

int artdaq::NthEventTransfer::receiveFragmentData ( RawDataType *  destination,
size_t  wordCount 
) [inline, override]

Receive the body of a Fragment to the given destination pointer.

Parameters:
destination Pointer to memory region where Fragment data should be stored
wordCount Number of words of Fragment data to receive
Returns:
The rank the Fragment was received from (should be source_rank), or RECV_TIMEOUT

Definition at line 90 of file NthEvent_transfer.cc.

int artdaq::NthEventTransfer::receiveFragmentHeader ( detail::RawFragmentHeader &  header,
size_t  receiveTimeout 
) [inline, override]

Receive a Fragment Header from the transport mechanism.

Parameters:
[out] header Received Fragment Header
receiveTimeout Timeout for receive
Returns:
The rank the Fragment was received from (should be source_rank), or RECV_TIMEOUT

Definition at line 79 of file NthEvent_transfer.cc.

int artdaq::NthEventTransfer::source_rank (  )  const [inline]

Get the source rank from the physical transfer.

Returns:
The source rank from the physical transfer

Definition at line 99 of file NthEvent_transfer.cc.


The documentation for this class was generated from the following file:

Generated on 27 Jan 2018 for artdaq_demo by  doxygen 1.6.1