10#include <daq/hbasf2/apps/ZMQApp.h>
11#include <framework/pcore/zmq/connections/ZMQLoadBalancedConnection.h>
12#include <framework/pcore/zmq/connections/ZMQRawConnection.h>
13#include <framework/pcore/zmq/connections/ZMQConfirmedConnection.h>
15#include <boost/program_options.hpp>
17namespace po = boost::program_options;
38 void addOptions(po::options_description& desc)
final;
64 void addOptions(po::options_description& desc)
final;
Standard distributor app: receive data via a raw connection (e.g.
unsigned int m_maximalBufferSize
Parameter: buffer size for storing input messages.
std::string m_inputAddress
Parameter: input address.
void initialize() final
Initialize the two connections using the command line arguments.
bool m_expressRecoMode
Parameter: Do not wait for a ready worker if set to true, but dismiss the incoming event.
void addOptions(po::options_description &desc) final
Add the parameters to the cmd line arguments.
std::string m_outputAddress
Parameter: output address.
void handleExternalSignal(EMessageTypes type) final
Handle stop, start and terminate messages as described above.
void handleTimeout() final
When a timeout is set (= we are waiting for all messages after a stop), send a stop message once we h...
unsigned int m_stopWaitingTime
Parameter: how long to wait after no events come anymore.
void handleInput() final
Pass the message from the input connection to the output connection (only data messages)
Generic base class for all standalone ZMQ applications.
EMessageTypes
Type the messages can have.
Abstract base class for different kinds of events.