1 #ifndef artdaq_Application_Routing_RoutingPacket_hh
2 #define artdaq_Application_Routing_RoutingPacket_hh
4 #include "artdaq-core/Data/Fragment.hh"
21 enum class RoutingMasterMode : uint8_t
52 #define ROUTING_MAGIC 0x1337beef
60 RoutingMasterMode mode;
89 #define TOKEN_MAGIC 0xbeefcafe
102 #endif //artdaq_Application_Routing_RoutingPacket_hh
A row of the Routing Table.
A RoutingAckPacket contains the rank of the table receiver, plus the first and last sequence IDs in t...
unsigned new_slots_free
The number of slots free in the token sender (usually 1)
The RoutingToken contains the magic bytes, the rank of the token sender, and the number of slots free...
Fragment::sequence_id_t first_sequence_id
The first sequence ID in the received RoutingPacket.
RoutingPacketEntry(Fragment::sequence_id_t seq, int rank)
Construct a RoutingPacketEntry with the given sequence ID and destination rank.
int destination_rank
The destination rank for this sequence ID.
Fragment::sequence_id_t last_sequence_id
The last sequence ID in the received RoutingPacket.
std::vector< RoutingPacketEntry > RoutingPacket
A RoutingPacket is simply a vector of RoutingPacketEntry objects. It is not suitable for network tran...
int rank
The rank from which the RoutingToken came.
int rank
The rank from which the RoutingAckPacket came.
Fragment::sequence_id_t sequence_id
The sequence ID of the RoutingPacketEntry.
RoutingPacketEntry()
Default Constructor.
uint32_t header
The magic bytes that help validate the RoutingToken.