|
artdaq
v3_09_05
|
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 > |
| Used for ParameterSet validation (if desired) | |
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. | |
| void | RemoveRoutingTableEntry (Fragment::sequence_id_t seq) |
| Remove the given sequence ID from the routing table and sent_count lists. More... | |
| size_t | GetSentSequenceIDCount (Fragment::sequence_id_t seq) |
| Get the number of Fragments sent with a given Sequence ID. More... | |
Sends Fragment objects using TransferInterface plugins. Uses Routing Tables if confgiured, otherwise will Round-Robin Fragments to the destinations.
Definition at line 29 of file DataSenderManager.hh.
|
explicit |
DataSenderManager Constructor.
| ps | ParameterSet used to configure the DataSenderManager. See artdaq::DataSenderManager::Config |
Definition at line 16 of file DataSenderManager.cc.
|
inline |
Return the count of Fragment objects sent by this DataSenderManagerq.
Definition at line 218 of file DataSenderManager.hh.
|
inline |
Get the number of configured destinations.
Definition at line 128 of file DataSenderManager.hh.
|
inline |
Get the list of enabled destinations.
Definition at line 134 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.
Definition at line 411 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.
Definition at line 405 of file DataSenderManager.cc.
| size_t artdaq::DataSenderManager::GetSentSequenceIDCount | ( | Fragment::sequence_id_t | seq | ) |
Get the number of Fragments sent with a given Sequence ID.
| seq | Sequence ID to query |
Definition at line 507 of file DataSenderManager.cc.
| void artdaq::DataSenderManager::RemoveRoutingTableEntry | ( | Fragment::sequence_id_t | seq | ) |
Remove the given sequence ID from the routing table and sent_count lists.
| seq | Sequence ID to remove |
Definition at line 488 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.
| frag | Fragment to sent |
Definition at line 517 of file DataSenderManager.cc.
|
inline |
Get the count of Fragment objects sent by this DataSenderManager to a given destination.
| rank | Destination rank to get count for |
Definition at line 225 of file DataSenderManager.hh.