6#ifndef OPENCBDC_TX_SRC_RPC_EPOLL_EVENT_HANDLER_H_
7#define OPENCBDC_TX_SRC_RPC_EPOLL_EVENT_HANDLER_H_
28 auto init() ->
bool override;
37 auto poll() -> std::optional<std::vector<event>>
override;
41 long m_timeout_ms{1000};
42 bool m_timeout_enabled{
true};
43 std::set<int> m_tracked;
Event handler implementation using Linux epoll.
epoll_event_handler(epoll_event_handler &&)=default
auto init() -> bool override
Initializes the event handler.
epoll_event_handler()=default
auto operator=(epoll_event_handler &&) -> epoll_event_handler &=default
epoll_event_handler(const epoll_event_handler &)=default
auto operator=(const epoll_event_handler &) -> epoll_event_handler &=default
~epoll_event_handler() override
void set_timeout(long timeout_ms) override
Sets the timeout for poll to return even if there are no events.
auto poll() -> std::optional< std::vector< event > > override
Wait for events on tracked file descriptors.
void register_fd(int fd, event_type et) override
Registers a file descriptor to track for events.
Event handler interface for tracking events on non-blocking file descriptors.
event_type
Type of event to register interest in.