$treeview $search $mathjax $extrastylesheet
artdaq_demo  v3_04_01
$projectbrief
$projectbrief
$searchbox

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 transfer_fragment_min_blocking_mode (artdaq::Fragment const &fragment, size_t send_timeout_usec) override
 Transfer a Fragment to the destination. May not necessarily be reliable, but will not block longer than send_timeout_usec.
TransferInterface::CopyStatus transfer_fragment_reliable_mode (artdaq::Fragment &&fragment) 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 override
 Get the source rank from the physical transfer.
int destination_rank () const override
 Get the destination rank from the physical transfer.
bool isRunning () override
 Determine whether the TransferInterface plugin is able to send/receive data.
void flush_buffers () override
 Flush any in-flight data. This should be used by the receiver after the receive loop has ended.

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 126 of file NthEvent_transfer.cc.


Member Function Documentation

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

Get the destination rank from the physical transfer.

Returns:
The destination rank from the physical transfer

Definition at line 102 of file NthEvent_transfer.cc.

bool artdaq::NthEventTransfer::isRunning (  )  [inline, override]

Determine whether the TransferInterface plugin is able to send/receive data.

Returns:
True if the TransferInterface plugin is currently able to send/receive data

Definition at line 109 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 63 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 87 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 76 of file NthEvent_transfer.cc.

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

Get the source rank from the physical transfer.

Returns:
The source rank from the physical transfer

Definition at line 96 of file NthEvent_transfer.cc.

TransferInterface::CopyStatus artdaq::NthEventTransfer::transfer_fragment_min_blocking_mode ( artdaq::Fragment const &  fragment,
size_t  send_timeout_usec 
) [override]

Transfer a Fragment to the destination. May not necessarily be reliable, but will not block longer than send_timeout_usec.

Parameters:
fragment Fragment to transfer
send_timeout_usec Timeout for send, in microseconds
Returns:
CopyStatus detailing result of transfer

Definition at line 152 of file NthEvent_transfer.cc.

TransferInterface::CopyStatus artdaq::NthEventTransfer::transfer_fragment_reliable_mode ( artdaq::Fragment &&  fragment  )  [override]

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

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

Definition at line 167 of file NthEvent_transfer.cc.


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

Generated on 28 Mar 2019 for artdaq_demo by  doxygen 1.6.1