artdaq
v3_09_00
|
Receives Fragment objects from one or more DataSenderManager instances using TransferInterface plugins DataReceiverMaanger runs a reception thread for each source, and can automatically suppress reception from sources which are going faster than the others. More...
#include <artdaq/DAQrate/DataReceiverManager.hh>
Public Member Functions | |
DataReceiverManager (const fhicl::ParameterSet &ps, std::shared_ptr< SharedMemoryEventManager > shm) | |
DataReceiverManager Constructor. More... | |
virtual | ~DataReceiverManager () |
DataReceiverManager Destructor. | |
size_t | count () const |
Return the count of Fragment objects received by this DataReceiverManager. More... | |
size_t | slotCount (size_t rank) const |
Get the count of Fragment objects received by this DataReceiverManager from a given source. More... | |
size_t | byteCount () const |
Get the total size of all data recieved by this DataReceiverManager. More... | |
void | start_threads () |
Start receiver threads for all enabled sources. | |
void | stop_threads () |
Stop receiver threads. | |
std::set< int > | enabled_sources () const |
Get the list of enabled sources. More... | |
std::set< int > | running_sources () const |
Get the list of sources which are still receiving data. More... | |
std::shared_ptr < SharedMemoryEventManager > | getSharedMemoryEventManager () const |
Get a handle to the SharedMemoryEventManager connected to this DataReceiverManager. More... | |
std::shared_ptr < detail::FragCounter > | GetReceivedFragmentCount () |
Get a pointer to the FragCounter instance tracking the number of received Fragments. More... | |
Receives Fragment objects from one or more DataSenderManager instances using TransferInterface plugins DataReceiverMaanger runs a reception thread for each source, and can automatically suppress reception from sources which are going faster than the others.
Definition at line 26 of file DataReceiverManager.hh.
|
explicit |
DataReceiverManager Constructor.
ps | ParameterSet used to configure the DataReceiverManager |
shm | Pointer to SharedMemoryEventManager instance (destination for received data) |
* DataReceiverManager accepts the following Parameters: * "auto_suppression_enabled" (Default: true): Whether to suppress a source that gets too far ahead * "max_receive_difference" (Default: 50): Threshold (in sequence ID) for suppressing a source * "receive_timeout_usec" (Default: 100000): The timeout for receive operations * "enabled_sources" (OPTIONAL): List of sources which are enabled. If not specified, all sources are assumed enabled * "sources" (Default: blank table): FHiCL table containing TransferInterface configurations for each source. * NOTE: "source_rank" MUST be specified (and unique) for each source! *
Definition at line 12 of file DataReceiverManager.cc.
|
inline |
Get the total size of all data recieved by this DataReceiverManager.
Definition at line 149 of file DataReceiverManager.hh.
|
inline |
Return the count of Fragment objects received by this DataReceiverManager.
Definition at line 135 of file DataReceiverManager.hh.
std::set< int > artdaq::DataReceiverManager::enabled_sources | ( | ) | const |
Get the list of enabled sources.
Definition at line 206 of file DataReceiverManager.cc.
|
inline |
Get a pointer to the FragCounter instance tracking the number of received Fragments.
Definition at line 102 of file DataReceiverManager.hh.
|
inline |
Get a handle to the SharedMemoryEventManager connected to this DataReceiverManager.
Definition at line 96 of file DataReceiverManager.hh.
std::set< int > artdaq::DataReceiverManager::running_sources | ( | ) | const |
Get the list of sources which are still receiving data.
Definition at line 219 of file DataReceiverManager.cc.
|
inline |
Get the count of Fragment objects received by this DataReceiverManager from a given source.
rank | Source rank to get count for |
Definition at line 142 of file DataReceiverManager.hh.