artdaq  v3_07_02
artdaq::RequestSender Class Reference

The RequestSender contains methods used to send data requests and Routing tokens. More...

#include <artdaq/DAQrate/RequestSender.hh>

Classes

struct  Config
 Configuration of the RequestSender. May be used for parameter validation More...
 
struct  RoutingTokenConfig
 Configuration for Routing token sending More...
 

Public Types

using Parameters = fhicl::WrappedTable< Config >
 Used for ParameterSet validation (if desired)
 

Public Member Functions

 RequestSender ()=delete
 Default Constructor is deleted.
 
 RequestSender (RequestSender const &)=delete
 Copy Constructor is deleted.
 
RequestSenderoperator= (RequestSender const &)=delete
 Copy Assignment operator is deleted. More...
 
 RequestSender (const fhicl::ParameterSet &pset)
 RequestSender Constructor. More...
 
virtual ~RequestSender ()
 RequestSender Destructor.
 
void SetRequestMode (detail::RequestMessageMode mode)
 Set the mode for RequestMessages. Used to indicate when RequestSender should enter "EndOfRun" mode. More...
 
detail::RequestMessageMode GetRequestMode () const
 Get the mode for RequestMessages. More...
 
void SendRequest (bool endOfRunOnly=false)
 Send a request message containing all current requests. More...
 
void AddRequest (Fragment::sequence_id_t seqID, Fragment::timestamp_t timestamp)
 Add a request to the request list. More...
 
void RemoveRequest (Fragment::sequence_id_t seqID)
 Remove a request from the request list. More...
 
void SendRoutingToken (int nSlots, int run_number)
 Send a RoutingToken message indicating that slots are available. More...
 
size_t GetSentTokenCount () const
 Get the count of number of tokens sent. More...
 
void SetRunNumber (uint32_t run)
 Set the run number to be used in request messages. More...
 
bool RoutingTokenSendsEnabled ()
 Determine if routing token sends are enabled. More...
 
bool RequestsInFlight ()
 Determine if the RequestSender is currently sending any requests. More...
 

Detailed Description

The RequestSender contains methods used to send data requests and Routing tokens.

Definition at line 26 of file RequestSender.hh.

Constructor & Destructor Documentation

artdaq::RequestSender::RequestSender ( const fhicl::ParameterSet &  pset)

RequestSender Constructor.

Parameters
psetParameterSet used to configured RequestSender. See artdaq::RequestSender::Config

Definition at line 19 of file RequestSender.cc.

Member Function Documentation

void artdaq::RequestSender::AddRequest ( Fragment::sequence_id_t  seqID,
Fragment::timestamp_t  timestamp 
)

Add a request to the request list.

Parameters
seqIDSequence ID for request
timestampTimestamp to request

Definition at line 281 of file RequestSender.cc.

detail::RequestMessageMode artdaq::RequestSender::GetRequestMode ( ) const
inline

Get the mode for RequestMessages.

Returns
Current RequestMessageMode of the RequestSender

Definition at line 102 of file RequestSender.hh.

size_t artdaq::RequestSender::GetSentTokenCount ( ) const
inline

Get the count of number of tokens sent.

Returns
The number of tokens sent by RequestSender

Definition at line 134 of file RequestSender.hh.

RequestSender& artdaq::RequestSender::operator= ( RequestSender const &  )
delete

Copy Assignment operator is deleted.

Returns
RequestSender copy
void artdaq::RequestSender::RemoveRequest ( Fragment::sequence_id_t  seqID)

Remove a request from the request list.

Parameters
seqIDSequence ID of request

Definition at line 296 of file RequestSender.cc.

bool artdaq::RequestSender::RequestsInFlight ( )
inline

Determine if the RequestSender is currently sending any requests.

Returns
True if RequestSender has requests to send

This function is used for testing

Definition at line 154 of file RequestSender.hh.

bool artdaq::RequestSender::RoutingTokenSendsEnabled ( )
inline

Determine if routing token sends are enabled.

Returns
If routing tokens will be sent by this RequestSender

Definition at line 146 of file RequestSender.hh.

void artdaq::RequestSender::SendRequest ( bool  endOfRunOnly = false)

Send a request message containing all current requests.

Parameters
endOfRunOnlyWhether the request should only be sent in EndOfRun RequestMessageMode (default: false)

Definition at line 270 of file RequestSender.cc.

void artdaq::RequestSender::SendRoutingToken ( int  nSlots,
int  run_number 
)

Send a RoutingToken message indicating that slots are available.

Parameters
nSlotsNumber of slots available
run_numberRun number for token

Definition at line 261 of file RequestSender.cc.

void artdaq::RequestSender::SetRequestMode ( detail::RequestMessageMode  mode)

Set the mode for RequestMessages. Used to indicate when RequestSender should enter "EndOfRun" mode.

Parameters
modeMode to set

Definition at line 88 of file RequestSender.cc.

void artdaq::RequestSender::SetRunNumber ( uint32_t  run)
inline

Set the run number to be used in request messages.

Parameters
runRun number

Definition at line 140 of file RequestSender.hh.


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