7
7
8
8
#include < compat.h>
9
9
10
+ #include < assert.h>
10
11
#include < cstdint>
11
12
#include < string>
12
13
@@ -23,37 +24,38 @@ class EdgeTriggeredEvents
23
24
~EdgeTriggeredEvents ();
24
25
25
26
bool IsValid () const { return m_valid; }
27
+ int GetFileDescriptor () const { assert (m_fd != -1 ); return m_fd; }
26
28
27
29
/* Add socket to interest list */
28
30
bool AddSocket (SOCKET socket) const ;
29
31
/* Remove socket from interest list */
30
32
bool RemoveSocket (SOCKET socket) const ;
31
33
32
- /* Register wakeup pipe with EdgeTriggeredEvents instance */
33
- bool RegisterPipe (int wakeup_pipe);
34
- /* Unregister wakeup pipe with EdgeTriggeredEvents instance */
35
- bool UnregisterPipe (int wakeup_pipe);
36
-
37
34
/* Register events for socket */
38
35
bool RegisterEvents (SOCKET socket) const ;
39
36
/* Unregister events for socket */
40
37
bool UnregisterEvents (SOCKET socket) const ;
41
38
39
+ private:
40
+ friend class WakeupPipe ;
41
+ /* Register wakeup pipe with EdgeTriggeredEvents instance */
42
+ bool RegisterPipe (int wakeup_pipe);
43
+ /* Unregister wakeup pipe with EdgeTriggeredEvents instance */
44
+ bool UnregisterPipe (int wakeup_pipe);
45
+
42
46
private:
43
47
bool RegisterEntity (int entity, std::string entity_name) const ;
44
48
bool UnregisterEntity (int entity, std::string entity_name) const ;
45
49
46
- public:
47
- /* File descriptor used to interact with events mode */
48
- int m_fd{-1 };
49
-
50
50
private:
51
51
/* Flag set if pipe has been registered with instance */
52
52
bool m_pipe_registered{false };
53
53
/* Instance validity flag set during construction */
54
54
bool m_valid{false };
55
55
/* Flag for storing selected socket events mode */
56
56
SocketEventsMode m_mode;
57
+ /* File descriptor used to interact with events mode */
58
+ int m_fd{-1 };
57
59
};
58
60
59
61
#endif /* BITCOIN_UTIL_EDGE_H */
0 commit comments