6#ifndef OPENCBDC_TX_SRC_RPC_EVENT_HANDLER_H_
7#define OPENCBDC_TX_SRC_RPC_EVENT_HANDLER_H_
34 using event = std::pair<int, bool>;
38 virtual auto init() ->
bool = 0;
53 virtual auto poll() -> std::optional<std::vector<event>> = 0;
Event handler interface for tracking events on non-blocking file descriptors.
virtual ~event_handler()=default
virtual auto poll() -> std::optional< std::vector< event > >=0
Wait for events on tracked file descriptors.
event_type
Type of event to register interest in.
@ remove
Remove file descriptor.
@ inout
Read and write events.
@ out
Ready to write event.
virtual void set_timeout(long timeout_ms)=0
Sets the timeout for poll to return even if there are no events.
virtual auto init() -> bool=0
Initializes the event handler.
std::pair< int, bool > event
Type alias for an event.
virtual void register_fd(int fd, event_type et)=0
Registers a file descriptor to track for events.