artdaq  v3_04_00
artdaq::DataSenderManager Class Reference

Sends Fragment objects using TransferInterface plugins. Uses Routing Tables if confgiured, otherwise will Round-Robin Fragments to the destinations. More...

#include <artdaq/DAQrate/DataSenderManager.hh>

Classes

struct  Config
 Configuration of DataSenderManager. May be used for parameter validation More...
 
struct  DestinationsConfig
 Configuration for transfers to destinations More...
 
struct  RoutingTableConfig
 Configuration for Routing table reception More...
 

Public Types

using Parameters = fhicl::WrappedTable< Config >
 

Public Member Functions

 DataSenderManager (const fhicl::ParameterSet &ps)
 DataSenderManager Constructor. More...
 
virtual ~DataSenderManager ()
 DataSenderManager Destructor.
 
std::pair< int,
TransferInterface::CopyStatus
sendFragment (Fragment &&frag)
 Send the given Fragment. Return the rank of the destination to which the Fragment was sent. More...
 
size_t count () const
 Return the count of Fragment objects sent by this DataSenderManagerq. More...
 
size_t slotCount (size_t rank) const
 Get the count of Fragment objects sent by this DataSenderManager to a given destination. More...
 
size_t destinationCount () const
 Get the number of configured destinations. More...
 
std::set< int > enabled_destinations () const
 Get the list of enabled destinations. More...
 
size_t GetRoutingTableEntryCount () const
 Gets the current size of the Routing Table, in case other parts of the system want to use this information. More...
 
size_t GetRemainingRoutingTableEntries () const
 Gets the number of sends remaining in the routing table, in case other parts of the system want to use this information. More...
 
void StopSender ()
 Stop the DataSenderManager, aborting any sends in progress.
 

Detailed Description

Sends Fragment objects using TransferInterface plugins. Uses Routing Tables if confgiured, otherwise will Round-Robin Fragments to the destinations.

Definition at line 30 of file DataSenderManager.hh.

Constructor & Destructor Documentation

artdaq::DataSenderManager::DataSenderManager ( const fhicl::ParameterSet &  ps)
explicit

DataSenderManager Constructor.

Parameters
psParameterSet used to configure the DataSenderManager. See artdaq::DataSenderManager::Config

Definition at line 16 of file DataSenderManager.cc.

Member Function Documentation

size_t artdaq::DataSenderManager::count ( ) const
inline

Return the count of Fragment objects sent by this DataSenderManagerq.

Returns
The count of Fragment objects sent by this DataSenderManager

Definition at line 201 of file DataSenderManager.hh.

size_t artdaq::DataSenderManager::destinationCount ( ) const
inline

Get the number of configured destinations.

Returns
The number of configured destinations

Definition at line 125 of file DataSenderManager.hh.

std::set<int> artdaq::DataSenderManager::enabled_destinations ( ) const
inline

Get the list of enabled destinations.

Returns
The list of enabled destiantion ranks

Definition at line 131 of file DataSenderManager.hh.

size_t artdaq::DataSenderManager::GetRemainingRoutingTableEntries ( ) const

Gets the number of sends remaining in the routing table, in case other parts of the system want to use this information.

Returns
The number of sends remaining in the routing table

Definition at line 359 of file DataSenderManager.cc.

size_t artdaq::DataSenderManager::GetRoutingTableEntryCount ( ) const

Gets the current size of the Routing Table, in case other parts of the system want to use this information.

Returns
The current size of the Routing Table.

Definition at line 353 of file DataSenderManager.cc.

std::pair< int, artdaq::TransferInterface::CopyStatus > artdaq::DataSenderManager::sendFragment ( Fragment &&  frag)

Send the given Fragment. Return the rank of the destination to which the Fragment was sent.

Parameters
fragFragment to sent
Returns
Pair containing Rank of destination for Fragment and the CopyStatus from the send call

Definition at line 421 of file DataSenderManager.cc.

size_t artdaq::DataSenderManager::slotCount ( size_t  rank) const
inline

Get the count of Fragment objects sent by this DataSenderManager to a given destination.

Parameters
rankDestination rank to get count for
Returns
The count of Fragment objects sent by this DataSenderManager to the destination

Definition at line 209 of file DataSenderManager.hh.


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