77
88#include < compat.h>
99
10+ #include < assert.h>
1011#include < cstdint>
1112#include < string>
1213
@@ -23,37 +24,38 @@ class EdgeTriggeredEvents
2324 ~EdgeTriggeredEvents ();
2425
2526 bool IsValid () const { return m_valid; }
27+ int GetFileDescriptor () const { assert (m_fd != -1 ); return m_fd; }
2628
2729 /* Add socket to interest list */
2830 bool AddSocket (SOCKET socket) const ;
2931 /* Remove socket from interest list */
3032 bool RemoveSocket (SOCKET socket) const ;
3133
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-
3734 /* Register events for socket */
3835 bool RegisterEvents (SOCKET socket) const ;
3936 /* Unregister events for socket */
4037 bool UnregisterEvents (SOCKET socket) const ;
4138
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+
4246private:
4347 bool RegisterEntity (int entity, std::string entity_name) const ;
4448 bool UnregisterEntity (int entity, std::string entity_name) const ;
4549
46- public:
47- /* File descriptor used to interact with events mode */
48- int m_fd{-1 };
49-
5050private:
5151 /* Flag set if pipe has been registered with instance */
5252 bool m_pipe_registered{false };
5353 /* Instance validity flag set during construction */
5454 bool m_valid{false };
5555 /* Flag for storing selected socket events mode */
5656 SocketEventsMode m_mode;
57+ /* File descriptor used to interact with events mode */
58+ int m_fd{-1 };
5759};
5860
5961#endif /* BITCOIN_UTIL_EDGE_H */
0 commit comments