Belle II Software  release-08-01-10
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 
18 namespace 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
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.