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

artdaq::DataReceiverManager Class Reference

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>

List of all members.

Classes

struct  source_metric_data

Public Member Functions

 DataReceiverManager (const fhicl::ParameterSet &ps, std::shared_ptr< SharedMemoryEventManager > shm)
 DataReceiverManager Constructor.
virtual ~DataReceiverManager ()
 DataReceiverManager Destructor.
size_t count () const
 Return the count of Fragment objects received by this DataReceiverManager.
size_t slotCount (size_t rank) const
 Get the count of Fragment objects received by this DataReceiverManager from a given source.
size_t byteCount () const
 Get the total size of all data recieved by this DataReceiverManager.
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.
std::set< int > running_sources () const
 Get the list of sources which are still receiving data.
std::shared_ptr
< SharedMemoryEventManager
getSharedMemoryEventManager () const
 Get a handle to the SharedMemoryEventManager connected to this DataReceiverManager.
std::shared_ptr
< detail::FragCounter
GetReceivedFragmentCount ()
 Get a pointer to the FragCounter instance tracking the number of received Fragments.

Detailed Description

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 DataReceiverManager.hh.


Constructor & Destructor Documentation

artdaq::DataReceiverManager::DataReceiverManager ( const fhicl::ParameterSet &  ps,
std::shared_ptr< SharedMemoryEventManager shm 
) [explicit]

DataReceiverManager Constructor.

Parameters:
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 11 of file DataReceiverManager.cc.


Member Function Documentation

size_t artdaq::DataReceiverManager::byteCount (  )  const [inline]

Get the total size of all data recieved by this DataReceiverManager.

Returns:
The total size of all data received by this DataReceiverManager

Definition at line 165 of file DataReceiverManager.hh.

size_t artdaq::DataReceiverManager::count (  )  const [inline]

Return the count of Fragment objects received by this DataReceiverManager.

Returns:
The count of Fragment objects received by this DataReceiverManager

Definition at line 149 of file DataReceiverManager.hh.

std::set< int > artdaq::DataReceiverManager::enabled_sources (  )  const

Get the list of enabled sources.

Returns:
The list of enabled sources

Definition at line 195 of file DataReceiverManager.cc.

std::shared_ptr<detail::FragCounter> artdaq::DataReceiverManager::GetReceivedFragmentCount (  )  [inline]

Get a pointer to the FragCounter instance tracking the number of received Fragments.

Returns:
Pointer to the FragCounter instance tracking the number of recevied Fragments

Definition at line 105 of file DataReceiverManager.hh.

std::shared_ptr<SharedMemoryEventManager> artdaq::DataReceiverManager::getSharedMemoryEventManager (  )  const [inline]

Get a handle to the SharedMemoryEventManager connected to this DataReceiverManager.

Returns:
shared_ptr to SharedMemoryEventManager instance

Definition at line 98 of file DataReceiverManager.hh.

std::set< int > artdaq::DataReceiverManager::running_sources (  )  const

Get the list of sources which are still receiving data.

Returns:
std::set containing ranks of sources which are still receiving data

Definition at line 205 of file DataReceiverManager.cc.

size_t artdaq::DataReceiverManager::slotCount ( size_t  rank  )  const [inline]

Get the count of Fragment objects received by this DataReceiverManager from a given source.

Parameters:
rank Source rank to get count for
Returns:
The count of Fragment objects received by this DataReceiverManager from the source

Definition at line 157 of file DataReceiverManager.hh.


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

Generated on 29 Mar 2019 for artdaq by  doxygen 1.6.1