6#ifndef OPENCBDC_TX_SRC_RPC_KQUEUE_EVENT_HANDLER_H_
7#define OPENCBDC_TX_SRC_RPC_KQUEUE_EVENT_HANDLER_H_
23 auto init() ->
bool override;
32 auto poll() -> std::optional<std::vector<event>>
override;
36 long m_timeout_ms{1000};
37 bool m_timeout_enabled{
true};
38 std::vector<struct kevent> m_evs;
Event handler interface for tracking events on non-blocking file descriptors.
event_type
Type of event to register interest in.
Event handler implementation using BSD kqueue.
void register_fd(int fd, event_type et) override
Registers a file descriptor to track for events.
auto init() -> bool override
Initializes the event handler.
kqueue_event_handler()=default
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.