Support the (proto)DUNE DFO Model in artdaq
I'm opening this as a meta-issue to contain the various (and future) pieces of work we have identified as necessary for providing functionality equivalent to the DFO requirement for DUNE.
I have attached images from the meeting today with Kurt, Wes and myself.
#7 Updated by Kurt Biery about 1 month ago
As an initial step toward returning destination information, along with the artdaq::Fragments, from CommandableFragmentGenerator::getNext(), would it be OK to update the RequestReceiver interface to add a method that returns the destination rank for a specified sequence ID?
Another way to phrase this question: do we want to modify the existing RequestReceiver interface to return destination information, along with sequence ID and timestamp information, from the GetRequests() and GetAndClearRequests() methods,
do we want to keep the existing interface signatures and add a new method to fetch the destination for a specified sequence ID?
#8 Updated by Eric Flumerfelt about 1 month ago
This is a bit trickier than I realized, since the rank is in the header for the request block…For requests from the RoutingMaster, we may want the rank to be in the RequestPacket struct so that multiple destinations’ requests can be in the same block.
Looking at RequestReceiver.hh, I think requests_ and request_timing_ could be combined to a map between sequence_id and a struct containing timestamp, time received, and destination. We could then provide a set of methods for each of those three, and one for returning the struct itself.