Belle II Software development
SocketManager.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 SOCKETMAN_H
9#define SOCKETMAN_H
10
11#include <vector>
12#include <sys/select.h>
13
14namespace Belle2 {
21 public:
22 SocketManager(int sock);
24
25 int examine();
26
27 std::vector<int>& connected_socket_list();
28
29 bool connected(int fd, bool wreq = false);
30
31 bool remove(int fd);
32
33 private:
34 int m_maxfd;
35 std::vector<int> m_fd;
36
37 int m_sock;
38 fd_set m_rset;
39 fd_set m_wset;
40 fd_set m_allset;
41 };
43};
44#endif
45
46
47
48
49
50
Abstract base class for different kinds of events.