10#include <framework/pcore/zmq/processModules/ProcessedEventBackup.h>
11#include <framework/dataobjects/EventMetaData.h>
12#include <framework/pcore/EvtMessage.h>
13#include <framework/datastore/StoreObjPtr.h>
39 template <
class AZMQClient>
43 unsigned int size()
const;
50 template <
class AZMQClient>
54 if (it->getWorkerId() == worker) {
55 B2DEBUG(100,
"Delete event: " << it->getEventMetaData().getEvent());
56 it->sendToSocket(socket);
List-like structure for storing and retaining event backups.
unsigned int size() const
Check the size.
void storeEvent(std::unique_ptr< EvtMessage > evtMsg, const StoreObjPtr< EventMetaData > &evtMetaData, const unsigned int workerId)
Add a new event backup with the given information. Takes ownership of the evt message.
std::vector< ProcessedEventBackup > m_evtBackupVector
The vector where the event backups are stored.
int checkForTimeout(const Duration &timeout) const
Check the items for timeout. Returns -1 if no timeout happened and the worker id, if it did.
std::chrono::milliseconds Duration
Short for the class of a duration (always measured in milliseconds)
void removeEvent(const EventMetaData &evtMetaData)
Remove all backups with the given event meta data (on confirmation)
Type-safe access to single objects in the data store.
void sendWorkerBackupEvents(unsigned int worker, const AZMQClient &socket)
Send all backups of a given worker directly to the multicast and delete them.
Abstract base class for different kinds of events.