artdaq  v3_02_00
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
 
struct  RoutingTokenConfig
 

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)
 Send a RoutingToken message indicating that slots are available. More...
 

Detailed Description

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

Definition at line 27 of file RequestSender.hh.

Constructor & Destructor Documentation

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

RequestSender Constructor.

Parameters
psetParameterSet used to configured RequestSender
* RequestSender accepts the following Parameters:
* "send_requests" (Default: false): Whether to send DataRequests when new sequence IDs are seen
* "request_port" (Default: 3001): Port to send DataRequests on
* "request_delay_ms" (Default: 10): How long to wait before sending new DataRequests
* "request_shutdown_timeout_us" (Default: 100000 us): How long to wait for pending requests to be sent at shutdown
* "multicast_interface_ip" (Default: "0.0.0.0"): Use this hostname for multicast output (to assign to the proper NIC)
* "request_address" (Default: "227.128.12.26"): Multicast address to send DataRequests to
* "routing_token_config" (Default: Empty table): FHiCL table containing RoutingToken configuration
*   "use_routing_master" (Default: false): Whether to send tokens to a RoutingMaster
*   "routing_token_port" (Default: 35555): Port to send tokens on
*   "routing_master_hostname" (Default: "localhost"): Hostname or IP of RoutingMaster
* 

Definition at line 20 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 251 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.

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 260 of file RequestSender.cc.

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 242 of file RequestSender.cc.

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

Send a RoutingToken message indicating that slots are available.

Parameters
nSlotsNumber of slots available

Definition at line 234 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 68 of file RequestSender.cc.


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