 |
Belle II Software
release-05-01-25
|
12 #include <framework/pcore/zmq/utils/ZMQParent.h>
13 #include <framework/pcore/zmq/connections/ZMQConnection.h>
15 #include <framework/pcore/zmq/messages/ZMQIdMessage.h>
16 #include <framework/pcore/zmq/messages/ZMQNoIdMessage.h>
57 class ZMQConfirmedInput :
public ZMQConnectionOverSocket {
60 ZMQConfirmedInput(
const std::string& inputAddress,
const std::shared_ptr<ZMQParent>& parent);
111 ZMQConfirmedOutput(
const std::string& outputAddress,
const std::shared_ptr<ZMQParent>& parent);
119 void handleEvent(std::unique_ptr<ZMQNoIdMessage> message,
bool requireConfirmation =
true,
int maximalWaitTime = 10000);
ZMQConfirmedOutput(const std::string &outputAddress, const std::shared_ptr< ZMQParent > &parent)
Create a new confirmed output by connecting to the address.
Output part of a confirmed connection.
void handleEvent(std::unique_ptr< ZMQNoIdMessage > message, bool requireConfirmation=true, int maximalWaitTime=10000)
Send the message to the output (a message without a ID as there is only a single output).
unsigned int m_waitingForConfirmation
On how many confirmation messages are we still waiting?
Abstract base class for different kinds of events.
long m_timespanWaitingForConfirmation
Internal monitoring how long we were waiting for confirmation messages.
Specialized connection over a ZMQ socket.
void handleIncomingData()
Blocks until it can receive the (hopefully confirmation) message from the output.