|
OpenCBDC Transaction Processor
|
Event handler implementation using Linux epoll. More...
#include <epoll_event_handler.hpp>


Public Member Functions | |
| epoll_event_handler ()=default | |
| ~epoll_event_handler () override | |
| epoll_event_handler (const epoll_event_handler &)=default | |
| auto | operator= (const epoll_event_handler &) -> epoll_event_handler &=default |
| epoll_event_handler (epoll_event_handler &&)=default | |
| auto | operator= (epoll_event_handler &&) -> epoll_event_handler &=default |
| 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. | |
Public Member Functions inherited from cbdc::rpc::event_handler | |
| virtual | ~event_handler ()=default |
Additional Inherited Members | |
Public Types inherited from cbdc::rpc::event_handler | |
| 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 Linux epoll.
Definition at line 15 of file epoll_event_handler.hpp.
|
default |
|
override |
Definition at line 16 of file epoll_event_handler.cpp.
|
default |
|
default |
|
overridevirtual |
Initializes the event handler.
Implements cbdc::rpc::event_handler.
Definition at line 20 of file epoll_event_handler.cpp.
|
default |
|
default |
|
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 63 of file epoll_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 34 of file epoll_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 24 of file epoll_event_handler.cpp.