Belle II Software  release-08-01-10
EvtSocketManager.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 EVTSOCKETMAN_H
9 #define EVTSOCKETMAN_H
10 
11 #include <vector>
12 
13 #include <daq/dataflow/EvtSocket.h>
14 
15 namespace Belle2 {
22  public:
25 
26  int examine();
27 
28  std::vector<int>& connected_socket_list();
29 
30  bool connected(int fd, bool wreq = false);
31 
32  bool remove(int fd);
33 
34  private:
35  int m_maxfd;
36  std::vector<int> m_fd;
37 
38  EvtSocketRecv* m_recv;
39  int m_sock;
40  fd_set m_rset;
41  fd_set m_wset;
42  fd_set m_allset;
43  };
45 };
46 #endif
47 
48 
49 
50 
51 
52 
Abstract base class for different kinds of events.