1 #ifndef artdaq_ArtModules_TransferWrapper_hh
2 #define artdaq_ArtModules_TransferWrapper_hh
4 #include "artdaq-core/Data/RawEvent.hh"
5 #include "artdaq/ExternalComms/CommanderInterface.hh"
6 #include "artdaq/TransferPlugins/TransferInterface.hh"
15 #include <unordered_map>
72 std::unordered_map<artdaq::Fragment::type_t, std::unique_ptr<artdaq::Fragments>>
receiveMessages();
87 std::shared_ptr<artdaq::detail::RawEventHeader>
getEventHeader() {
return nullptr; }
95 void checkIntegrity(
const artdaq::Fragment&)
const;
97 void registerMonitor();
98 void unregisterMonitor();
99 std::string getDispatcherStatus();
101 std::size_t timeoutInUsecs_;
102 std::chrono::steady_clock::time_point last_received_data_;
103 std::chrono::steady_clock::time_point last_report_;
104 std::unique_ptr<TransferInterface> transfer_;
105 std::unique_ptr<CommanderInterface> commander_;
106 const fhicl::ParameterSet pset_;
107 const std::string dispatcherHost_;
108 const std::string dispatcherPort_;
109 const std::string serverUrl_;
110 const std::size_t maxEventsBeforeInit_;
111 const std::vector<int> allowedFragmentTypes_;
112 const double runningStateTimeout_;
113 size_t runningStateInterval_us_;
114 const bool quitOnFragmentIntegrityProblem_;
115 const bool multi_run_mode_;
116 bool monitorRegistered_;
TransferWrapper(const fhicl::ParameterSet &pset)
TransferWrapper Constructor.
virtual ~TransferWrapper()
TransferWrapper Destructor.
artdaq::FragmentPtrs receiveMessage()
Receive a Fragment from the TransferInterface, and send it to art.
TransferWrapper wraps a TransferInterface so that it can be used in the ArtdaqInput class to make an ...
std::shared_ptr< artdaq::detail::RawEventHeader > getEventHeader()
Get a pointer to the last received RawEventHeader.
artdaq::FragmentPtrs receiveInitMessage()
Receive the Init message from the TransferInterface, and send it to art.
std::unordered_map< artdaq::Fragment::type_t, std::unique_ptr< artdaq::Fragments > > receiveMessages()
Receive all messsages for an event from ArtdaqSharedMemoryService.