12 #include <framework/pcore/zmq/connections/ZMQConnection.h>
13 #include <daq/hbasf2/utils/HistogramMapping.h>
15 #include <framework/pcore/zmq/connections/ZMQNullConnection.h>
16 #include <framework/pcore/zmq/connections/ZMQConfirmedConnection.h>
17 #include <framework/pcore/zmq/connections/ZMQRawConnection.h>
19 #include <framework/pcore/zmq/messages/ZMQIdMessage.h>
21 #include <framework/pcore/EvtMessage.h>
22 #include <daq/dqm/DqmMemFile.h>
23 #include <daq/rfarm/manager/SharedMem.h>
54 class ZMQHistoServerToFileOutput :
public ZMQConnection {
58 const std::string& dqmFileName,
59 const std::string& rootFileName);
62 void mergeAndSend(
const std::map<std::string, HistogramMapping>& storedMessages,
const std::optional<unsigned int>& experiment,
63 const std::optional<unsigned int>& run,
69 std::vector<zmq::socket_t*>
getSockets() const final;
96 void mergeAndSend(
const std::map<std::string, HistogramMapping>& storedMessages,
const std::optional<unsigned int>& experiment,
97 const std::optional<unsigned int>& run,
103 std::string
getMonitoringJSON() const final {
return m_output.getMonitoringJSON(); }
107 bool isReady()
const {
return m_output.isReady(); }
109 std::vector<zmq::socket_t*>
getSockets() const final {
return m_output.getSockets(); }
116 std::vector<char> m_outputBuffer;
118 unsigned int m_maximalCompressedSize = 100
'000'000;
134 void mergeAndSend(
const std::map<std::string, HistogramMapping>& storedMessages,
const std::optional<unsigned int>& experiment,
135 const std::optional<unsigned int>& run,
141 std::string
getMonitoringJSON() const final {
return m_output.getMonitoringJSON(); }
145 bool isReady()
const {
return m_output.isReady(); }
147 std::vector<zmq::socket_t*>
getSockets() const final {
return m_output.getSockets(); }