Belle II Software  release-06-02-00
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 
9 #include <string>
10 
11 #include "framework/pcore/RingBuffer.h"
12 #include "daq/dataflow/REvtSocket.h"
13 #include "daq/rfarm/manager/RFFlowStat.h"
14 
15 #define RBUFSIZE 100000000
16 
17 namespace Belle2 {
23  class RevSock2Rb {
24  public:
26  RevSock2Rb(std::string rbuf, std::string src, int port, std::string shmname, int id);
27  ~RevSock2Rb(void);
28 
30  int ReceiveEvent(void);
31 
33  int Reconnect(int ntry);
34 
35  private:
36  RingBuffer* m_rbuf;
37  REvtSocketRecv* m_sock;
38  RFFlowStat* m_flow;
39  char* m_evtbuf;
40 
41  };
42 
44 }
int ReceiveEvent(void)
Event function.
Definition: RevSock2Rb.cc:32
int Reconnect(int ntry)
Reconnect.
Definition: RevSock2Rb.cc:59
RevSock2Rb(std::string rbuf, std::string src, int port, std::string shmname, int id)
Constuctor and Destructor.
Definition: RevSock2Rb.cc:16
Class to manage a Ring Buffer placed in an IPC shared memory.
Definition: RingBuffer.h:39
Abstract base class for different kinds of events.