9#include "daq/expreco/EventServer.h"
10#include <framework/pcore/MsgHandler.h>
19EventServer::EventServer(
string rbufname,
int port) : m_port(port)
29EventServer::~EventServer()
36int EventServer::server()
40 char* evtbuffer =
new char[MAXEVTSIZE];
43 int loop_counter [[maybe_unused]] = 0;
44 while (m_force_exit == 0) {
46 int size = m_rbuf->
remq((
int*)evtbuffer);
51 int exam_stat = m_man->examine();
54 printf(
"Initial connection request detected!\n");
56 }
else if (exam_stat == 1 && size > 0) {
58 vector<int>& recvsock = m_man->connected_socket_list();
60 for (vector<int>::iterator it = recvsock.begin();
61 it != recvsock.end(); ++it) {
63 if (m_man->connected(fd,
true)) {
64 int is = sio.put(fd, evtbuffer, size * 4);
67 printf(
"EventServer: fd %d disconnected\n", fd);
A class to encode/decode an EvtMessage.
Class to manage a Ring Buffer placed in an IPC shared memory.
int remq(int *buf)
Pick up a buffer from the RingBuffer.
Abstract base class for different kinds of events.