artdaq  v2_02_03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
NetMonTransportService.h
1 #ifndef artdaq_ArtModules_NetMonTransportService_h
2 #define artdaq_ArtModules_NetMonTransportService_h
3 
4 #include "art/Framework/Services/Registry/ServiceMacros.h"
5 
6 #include "artdaq/ArtModules/NetMonTransportServiceInterface.h"
7 #include "artdaq/DAQrate/DataSenderManager.hh"
8 #include "artdaq-core/Core/GlobalQueue.hh"
9 
10 // ----------------------------------------------------------------------
11 
17 {
18 public:
22  virtual ~NetMonTransportService();
23 
33  NetMonTransportService(fhicl::ParameterSet const& pset, art::ActivityRegistry&);
34 
40  void connect() override;
41 
47  void disconnect() override;
48 
52  void listen() override;
53 
60  void sendMessage(uint64_t sequenceId, uint8_t messageType, TBufferFile& msg) override;
61 
66  void receiveMessage(TBufferFile*& msg) override;
67 
72  size_t dataReceiverCount() const { return sender_ptr_->destinationCount(); }
73 private:
74  fhicl::ParameterSet data_pset_;
75 
76  std::unique_ptr<artdaq::DataSenderManager> sender_ptr_;
77  artdaq::RawEventQueue& incoming_events_;
78  std::unique_ptr<std::vector<artdaq::Fragment>> recvd_fragments_;
79 };
80 
81 DECLARE_ART_SERVICE_INTERFACE_IMPL(NetMonTransportService, NetMonTransportServiceInterface, LEGACY)
82 #endif /* artdaq_ArtModules_NetMonTransportService_h */
83 
84 // Local Variables:
85 // mode: c++
86 // End:
void sendMessage(uint64_t sequenceId, uint8_t messageType, TBufferFile &msg) override
Send ROOT data, wrapped in an artdaq::Fragment object.
NetMonTransportService extends NetMonTransportServiceInterface. It sends events using DataSenderManag...
void receiveMessage(TBufferFile *&msg) override
Receive data from the ConcurrentQueue.
size_t dataReceiverCount() const
Get the number of data receivers.
void connect() override
Reconnect the NetMonTransportService.
virtual ~NetMonTransportService()
NetMonTransportService Destructor. Calls disconnect().
NetMonTransportService(fhicl::ParameterSet const &pset, art::ActivityRegistry &)
NetMonTransportService Constructor.
void disconnect() override
Disconnects the NetMonTranportService.
Interface for NetMonTranportService. This interface is declared to art as part of the required regist...
void listen() override
Listen for connections. This method is a No-Op.