artdaq  v3_12_02
artdaq::detail Namespace Reference

The artdaq::detail namespace contains internal implementation details for some classes. More...

Classes

class  FragCounter
 Keep track of the count of Fragments received from a set of sources. More...
 
struct  RequestPacket
 The RequestPacket contains information about a single data request. More...
 
struct  RequestHeader
 Header of a RequestMessage. Contains magic bytes for validation and a count of expected RequestPackets. More...
 
class  RequestMessage
 A RequestMessage consists of a RequestHeader and zero or more RequestPackets. They will usually be sent in two calls to send() More...
 
class  RoutingManagerModeConverter
 Convert RoutingManagerMode to/from strings. More...
 
struct  RoutingPacketEntry
 A row of the Routing Table. More...
 
struct  RoutingPacketHeader
 The header of the Routing Table, containing the magic bytes and the number of entries. More...
 
struct  RoutingRequest
 Represents a request sent to the RoutingManager for routing information. More...
 
struct  RoutingToken
 The RoutingToken contains the magic bytes, the rank of the token sender, and the number of slots free. This is a TCP message, so additional verification is not necessary. More...
 

Typedefs

using RoutingPacket = std::vector< RoutingPacketEntry >
 A RoutingPacket is simply a vector of RoutingPacketEntry objects. It is not suitable for network transmission, rather a RoutingPacketHeader should be sent, followed by &RoutingPacket.at(0) (the physical storage of the vector)
 

Enumerations

enum  TaskType : int {
  BoardReaderTask = 1, EventBuilderTask = 2, DataLoggerTask = 3, DispatcherTask = 4,
  RoutingManagerTask = 5, UnknownTask
}
 The types of applications in artdaq.
 
enum  RequestMessageMode : uint8_t { RequestMessageMode::Normal = 0, RequestMessageMode::EndOfRun = 1 }
 Mode used to indicate current run conditions to the request receiver. More...
 
enum  RoutingManagerMode : uint8_t { RoutingManagerMode::EventBuilding, RoutingManagerMode::RequestBasedEventBuilding, RoutingManagerMode::DataFlow, INVALID }
 Mode indicating whether the RoutingManager is routing events by Sequence ID or by Send Count. More...
 

Functions

TaskType StringToTaskType (std::string const &task)
 Convert a string to a TaskType (Used by artdaq.cc) More...
 
TaskType IntToTaskType (int const &task)
 Convert an integer to the corresponding TaskType More...
 
std::string TaskTypeToString (TaskType const &task)
 Convert a TaskType to string representation More...
 
TraceStreamer & operator<< (TraceStreamer &x, TaskType r)
 
std::ostream & operator<< (std::ostream &o, RequestMessageMode m)
 Converts the RequestMessageMode to a string and sends it to the output stream. More...
 

Detailed Description

The artdaq::detail namespace contains internal implementation details for some classes.

Enumeration Type Documentation

enum artdaq::detail::RequestMessageMode : uint8_t
strong

Mode used to indicate current run conditions to the request receiver.

Enumerator
Normal 

Normal running.

EndOfRun 

End of Run mode (Used to end request processing on receiver)

Definition at line 22 of file RequestMessage.hh.

enum artdaq::detail::RoutingManagerMode : uint8_t
strong

Mode indicating whether the RoutingManager is routing events by Sequence ID or by Send Count.

Enumerator
EventBuilding 

Multiple sources sending to a single destination. RoutingManager pushes table updates to all senders.

RequestBasedEventBuilding 

Multiple sources sending to a single destination. Table updates are triggered by senders requesting routing information.

DataFlow 

One source sending to one destination (i.e. moving around completed events). Uses request-based routing.

Definition at line 27 of file RoutingPacket.hh.

Function Documentation

TaskType artdaq::detail::IntToTaskType ( int const &  task)
inline

Convert an integer to the corresponding TaskType

Parameters
taskEnumeration identifier of Task
Returns
Corresponding TaskType or TaskType::UnknownTask if no match

Definition at line 51 of file TaskType.hh.

std::ostream& artdaq::detail::operator<< ( std::ostream &  o,
RequestMessageMode  m 
)
inline

Converts the RequestMessageMode to a string and sends it to the output stream.

Parameters
oStream to send string to
mRequestMessageMode to convert to string
Returns
o with string sent to it

Definition at line 34 of file RequestMessage.hh.

TaskType artdaq::detail::StringToTaskType ( std::string const &  task)
inline

Convert a string to a TaskType (Used by artdaq.cc)

Parameters
taskName of the task
Returns
Corresponding TaskType or TaskType::UnknownTask if no match

Definition at line 30 of file TaskType.hh.

std::string artdaq::detail::TaskTypeToString ( TaskType const &  task)
inline

Convert a TaskType to string representation

Parameters
taskTaskType to convert
Returns
String represenation of Task name

Definition at line 64 of file TaskType.hh.