Belle II Software  release-08-01-10
FlowMonitor.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 #ifndef _Belle2_FlowMonitor_h
9 #define _Belle2_FlowMonitor_h
10 
11 #include <daq/slc/readout/RunInfoBuffer.h>
12 #include <daq/slc/readout/IOInfo.h>
13 #include <daq/slc/readout/ronode_status.h>
14 
15 namespace Belle2 {
21  class FlowMonitor {
22 
23  public:
24  FlowMonitor()
25  {
26  m_ioinfo.push_back(IOInfo());
27  m_ioinfo.push_back(IOInfo());
28  m_info = NULL;
29  m_status.connection_in = 0;
30  m_status.connection_out = 0;
31  }
32  ~FlowMonitor() {}
33 
34  public:
35  bool open(RunInfoBuffer* m_info);
36  bool close();
37  ronode_status& monitor();
38  const ronode_status& getStatus() const { return m_status; }
39  ronode_status& getStatus() { return m_status; }
40  bool isAvailable() const { return m_info != NULL; }
41 
42  private:
43  std::string m_nodename;
44  RunInfoBuffer* m_info;
45  std::vector<IOInfo> m_ioinfo;
46  std::string m_ip[2];
47  unsigned long long m_nbyte[2];
48  ronode_status m_status;
49 
50  };
51 
53 }
54 
55 #endif
Abstract base class for different kinds of events.