artdaq  v3_12_02
artdaq::RequestSender Class Reference

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

#include <artdaq/DAQrate/detail/RequestSender.hh>

Classes

struct  Config
 Configuration of the RequestSender. May be used for parameter validation 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 (RequestSender &&)=delete
 Move Constructor is deleted.
 
RequestSenderoperator= (RequestSender &&)=delete
 Move-assignment operator is deleted.
 
 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 SetRunNumber (uint32_t run)
 Set the run number to be used in request messages. 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)
explicit

RequestSender Constructor.

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

Definition at line 23 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 222 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 91 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 246 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 124 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 198 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 73 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 116 of file RequestSender.hh.


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