artdaq
v3_02_00
|
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. | |
RequestSender & | operator= (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... | |
The RequestSender contains methods used to send data requests and Routing tokens.
Definition at line 27 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: 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.
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 251 of file RequestSender.cc.
|
inline |
Get the mode for RequestMessages.
Definition at line 102 of file RequestSender.hh.
|
delete |
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 260 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 242 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 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.
mode | Mode to set |
Definition at line 68 of file RequestSender.cc.