The RequestSender contains methods used to send data requests and Routing tokens. More...
#include <artdaq/DAQrate/RequestSender.hh>
Public Member Functions | |
RequestSender () | |
Default Constructor is deleted. | |
RequestSender (RequestSender const &) | |
Copy Constructor is deleted. | |
RequestSender & | operator= (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. |
The RequestSender contains methods used to send data requests and Routing tokens.
Definition at line 26 of file RequestSender.hh.
artdaq::RequestSender::RequestSender | ( | const fhicl::ParameterSet & | pset | ) |
RequestSender Constructor.
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.
void artdaq::RequestSender::AddRequest | ( | Fragment::sequence_id_t | seqID, | |
Fragment::timestamp_t | timestamp | |||
) |
Add a request to the request list.
seqID | Sequence ID for request | |
timestamp | Timestamp to request |
Definition at line 234 of file RequestSender.cc.
detail::RequestMessageMode artdaq::RequestSender::GetRequestMode | ( | ) | const [inline] |
Get the mode for RequestMessages.
Definition at line 80 of file RequestSender.hh.
RequestSender& artdaq::RequestSender::operator= | ( | RequestSender const & | ) |
Copy Assignment operator is deleted.
void artdaq::RequestSender::RemoveRequest | ( | Fragment::sequence_id_t | seqID | ) |
Remove a request from the request list.
seqID | Sequence ID of request |
Definition at line 243 of file RequestSender.cc.
void artdaq::RequestSender::SendRequest | ( | bool | endOfRunOnly = false |
) |
Send a request message containing all current requests.
endOfRunOnly | Whether the request should only be sent in EndOfRun RequestMessageMode (default: false) |
Definition at line 225 of file RequestSender.cc.
void artdaq::RequestSender::SendRoutingToken | ( | int | nSlots | ) |
Send a RoutingToken message indicating that slots are available.
nSlots | Number of slots available |
Definition at line 217 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.
mode | Mode to set |
Definition at line 67 of file RequestSender.cc.