Belle II Software development
RevSock2Rb.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <string>
11
12#include "framework/pcore/RingBuffer.h"
13#include "daq/dataflow/REvtSocket.h"
14#include "daq/rfarm/manager/RFFlowStat.h"
15
16#define RBUFSIZE 100000000
17
18namespace Belle2 {
24 class RevSock2Rb {
25 public:
27 RevSock2Rb(std::string rbuf, std::string src, int port, std::string shmname, int id);
28 ~RevSock2Rb(void);
29
31 int ReceiveEvent(void);
32
34 int Reconnect(int ntry);
35
36 private:
37 RingBuffer* m_rbuf;
38 REvtSocketRecv* m_sock;
39 RFFlowStat* m_flow;
40 char* m_evtbuf;
41
42 };
43
45}
int ReceiveEvent(void)
Event function.
Definition: RevSock2Rb.cc:32
int Reconnect(int ntry)
Reconnect.
Definition: RevSock2Rb.cc:59
Class to manage a Ring Buffer placed in an IPC shared memory.
Definition: RingBuffer.h:39
Abstract base class for different kinds of events.