$treeview $search $mathjax $extrastylesheet
artdaq
v3_04_01
$projectbrief
|
$projectbrief
|
$searchbox |
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/FragmentReceiverManager.hh>
Public Member Functions | |
FragmentReceiverManager (const fhicl::ParameterSet &ps) | |
FragmentReceiverManager Constructor. | |
virtual | ~FragmentReceiverManager () |
FragmentReceiverManager Destructor. | |
FragmentPtr | recvFragment (int &rank, size_t timeout_usec=0) |
Receive a Fragment. | |
size_t | count () const |
Return the count of Fragment objects received by this FragmentReceiverManager. | |
size_t | slotCount (size_t rank) const |
Get the count of Fragment objects received by this FragmentReceiverManager from a given source. | |
size_t | byteCount () const |
Get the total size of all data recieved by this FragmentReceiverManager. | |
void | start_threads () |
Start receiver threads for all enabled sources. | |
std::set< int > | enabled_sources () const |
Get the list of enabled sources. | |
std::set< int > | running_sources () const |
Get the list of sources which are still receiving data. |
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 27 of file FragmentReceiverManager.hh.
artdaq::FragmentReceiverManager::FragmentReceiverManager | ( | const fhicl::ParameterSet & | ps | ) | [explicit] |
FragmentReceiverManager Constructor.
ps | ParameterSet used to configure the FragmentReceiverManager |
* FragmentReceiverManager 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 10 of file FragmentReceiverManager.cc.
size_t artdaq::FragmentReceiverManager::byteCount | ( | ) | const [inline] |
Get the total size of all data recieved by this FragmentReceiverManager.
Definition at line 237 of file FragmentReceiverManager.hh.
size_t artdaq::FragmentReceiverManager::count | ( | ) | const [inline] |
Return the count of Fragment objects received by this FragmentReceiverManager.
Definition at line 221 of file FragmentReceiverManager.hh.
std::set< int > artdaq::FragmentReceiverManager::enabled_sources | ( | ) | const |
Get the list of enabled sources.
Definition at line 202 of file FragmentReceiverManager.cc.
artdaq::FragmentPtr artdaq::FragmentReceiverManager::recvFragment | ( | int & | rank, | |
size_t | timeout_usec = 0 | |||
) |
Receive a Fragment.
[out] | rank | Rank of sender that sent the Fragment, or RECV_TIMEOUT |
timeout_usec | Timeout to wait for a Fragment to become ready |
Definition at line 154 of file FragmentReceiverManager.cc.
std::set< int > artdaq::FragmentReceiverManager::running_sources | ( | ) | const |
Get the list of sources which are still receiving data.
Definition at line 192 of file FragmentReceiverManager.cc.
size_t artdaq::FragmentReceiverManager::slotCount | ( | size_t | rank | ) | const [inline] |
Get the count of Fragment objects received by this FragmentReceiverManager from a given source.
rank | Source rank to get count for |
Definition at line 229 of file FragmentReceiverManager.hh.