artdaq::RequestSender Class Reference

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

#include <artdaq/DAQrate/RequestSender.hh>

List of all members.

Public Member Functions

 RequestSender ()
 Default Constructor is deleted.
 RequestSender (RequestSender const &)
 Copy Constructor is deleted.
RequestSenderoperator= (RequestSender const &)
 Copy Assignment operator is deleted.
 RequestSender (const fhicl::ParameterSet &pset)
 RequestSender Constructor.
virtual ~RequestSender ()
 RequestSender Destructor.
void SetRequestMode (detail::RequestMessageMode mode)
 Set the mode for RequestMessages. Used to indicate when RequestSender should enter "EndOfRun" mode.
detail::RequestMessageMode GetRequestMode () const
 Get the mode for RequestMessages.
void SendRequest (bool endOfRunOnly=false)
 Send a request message containing all current requests.
void AddRequest (Fragment::sequence_id_t seqID, Fragment::timestamp_t timestamp)
 Add a request to the request list.
void RemoveRequest (Fragment::sequence_id_t seqID)
 Remove a request from the request list.
void SendRoutingToken (int nSlots)
 Send a RoutingToken message indicating that slots are available.

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:
pset ParameterSet 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: 0.1s): How long to wait for pending requests to be sent at shutdown
		 * "output_address" (Default: "localhost"): 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 21 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:
seqID Sequence ID for request
timestamp Timestamp to request

Definition at line 233 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 80 of file RequestSender.hh.

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

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:
seqID Sequence ID of request

Definition at line 242 of file RequestSender.cc.

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

Send a request message containing all current requests.

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

Definition at line 224 of file RequestSender.cc.

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

Send a RoutingToken message indicating that slots are available.

Parameters:
nSlots Number of slots available

Definition at line 216 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:
mode Mode to set

Definition at line 67 of file RequestSender.cc.


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

Generated on 19 Feb 2018 for artdaq by  doxygen 1.6.1