OpenCBDC Transaction Processor
|
Event handler implementation using BSD kqueue. More...
#include <kqueue_event_handler.hpp>
Public Member Functions | |
kqueue_event_handler ()=default | |
~kqueue_event_handler () | |
auto | init () -> bool override |
Initializes the event handler. | |
void | set_timeout (long timeout_ms) override |
Sets the timeout for poll to return even if there are no events. | |
void | register_fd (int fd, event_type et) override |
Registers a file descriptor to track for events. | |
auto | poll () -> std::optional< std::vector< event > > override |
Wait for events on tracked file descriptors. | |
![]() | |
virtual | ~event_handler ()=default |
Additional Inherited Members | |
![]() | |
enum class | event_type { remove , in , out , inout } |
Type of event to register interest in. More... | |
using | event = std::pair<int, bool> |
Type alias for an event. | |
Event handler implementation using BSD kqueue.
Definition at line 17 of file kqueue_event_handler.hpp.
|
default |
cbdc::rpc::kqueue_event_handler::~kqueue_event_handler | ( | ) |
Definition at line 14 of file kqueue_event_handler.cpp.
|
overridevirtual |
Initializes the event handler.
Implements cbdc::rpc::event_handler.
Definition at line 18 of file kqueue_event_handler.cpp.
|
overridevirtual |
Wait for events on tracked file descriptors.
Blocks until at least one event is available, or the timeout expires.
Implements cbdc::rpc::event_handler.
Definition at line 70 of file kqueue_event_handler.cpp.
|
overridevirtual |
Registers a file descriptor to track for events.
fd | file descriptor. |
et | event type. |
Implements cbdc::rpc::event_handler.
Definition at line 33 of file kqueue_event_handler.cpp.
References cbdc::rpc::event_handler::in, cbdc::rpc::event_handler::inout, cbdc::rpc::event_handler::out, and cbdc::rpc::event_handler::remove.
|
overridevirtual |
Sets the timeout for poll to return even if there are no events.
timeout_ms | timeout in milliseconds. 0 to disable timeout. |
Implements cbdc::rpc::event_handler.
Definition at line 23 of file kqueue_event_handler.cpp.