#include <linux_epoll_io_service.h>
|  | 
|  | ~linux_epoll_io_service () override | 
|  | 
| bool | is_open () const noexcept | 
|  | 
| stdx::expected< void, std::error_code > | open () noexcept override | 
|  | open the io-service.  More... 
 | 
|  | 
| void | on_notify () | 
|  | 
| void | notify () override | 
|  | notify the poll_one() that something may have changed.  More... 
 | 
|  | 
| stdx::expected< void, std::error_code > | close () | 
|  | 
| stdx::expected< void, std::error_code > | add_fd_interest (native_handle_type fd, impl::socket::wait_type wt) override | 
|  | 
| stdx::expected< void, std::error_code > | add_fd_interest_permanent (native_handle_type fd, impl::socket::wait_type wt) | 
|  | 
| stdx::expected< void, std::error_code > | remove_fd (native_handle_type fd) override | 
|  | 
| stdx::expected< void, std::error_code > | remove_fd_interest (native_handle_type fd, uint32_t revents) | 
|  | 
| std::optional< int32_t > | interest (native_handle_type fd) const | 
|  | get current fd-interest.  More... 
 | 
|  | 
| stdx::expected< fd_event, std::error_code > | pop_event () | 
|  | 
| stdx::expected< fd_event, std::error_code > | update_fd_events (std::chrono::milliseconds timeout) | 
|  | 
| stdx::expected< fd_event, std::error_code > | poll_one (std::chrono::milliseconds timeout) override | 
|  | poll one event from the registered fd-interest.  More... 
 | 
|  | 
| virtual | ~IoServiceBase ()=default | 
|  | 
◆ native_handle_type
◆ ~linux_epoll_io_service()
  
  | 
        
          | net::linux_epoll_io_service::~linux_epoll_io_service | ( |  | ) |  |  | inlineoverride | 
 
 
◆ add_fd_interest()
◆ add_fd_interest_permanent()
◆ after_event_fired()
◆ close()
  
  | 
        
          | stdx::expected< void, std::error_code > net::linux_epoll_io_service::close | ( |  | ) |  |  | inline | 
 
 
◆ interest()
  
  | 
        
          | std::optional< int32_t > net::linux_epoll_io_service::interest | ( | native_handle_type | fd | ) | const |  | inline | 
 
get current fd-interest. 
- Returns
- fd-interest as bitmask of raw EPOLL* flags 
 
 
◆ is_open()
  
  | 
        
          | bool net::linux_epoll_io_service::is_open | ( |  | ) | const |  | inlinenoexcept | 
 
 
◆ notify()
  
  | 
        
          | void net::linux_epoll_io_service::notify | ( |  | ) |  |  | inlineoverridevirtual | 
 
notify the poll_one() that something may have changed. 
can be called from another thread then poll_one(). 
Implements net::IoServiceBase.
 
 
◆ on_notify()
  
  | 
        
          | void net::linux_epoll_io_service::on_notify | ( |  | ) |  |  | inline | 
 
 
◆ open()
  
  | 
        
          | stdx::expected< void, std::error_code > net::linux_epoll_io_service::open | ( |  | ) |  |  | inlineoverridevirtualnoexcept | 
 
open the io-service. 
MUST be called before any of the other functions is called.
may fail if out of file-descriptors.
- Returns
- an std::error_code on error 
Implements net::IoServiceBase.
 
 
◆ poll_one()
  
  | 
        
          | stdx::expected< fd_event, std::error_code > net::linux_epoll_io_service::poll_one | ( | std::chrono::milliseconds | timeout | ) |  |  | inlineoverridevirtual | 
 
poll one event from the registered fd-interest. 
removes the interest of the event that fired
- Parameters
- 
  
    | timeout | wait at most timeout milliseconds |  
 
- Returns
- fd_event which fired 
- Return values
- 
  
    | std::errc::timed_out | in case of timeout |  
 
Implements net::IoServiceBase.
 
 
◆ pop_event()
◆ remove_fd()
◆ remove_fd_interest()
◆ update_fd_events()
  
  | 
        
          | stdx::expected< fd_event, std::error_code > net::linux_epoll_io_service::update_fd_events | ( | std::chrono::milliseconds | timeout | ) |  |  | inline | 
 
 
◆ epfd_
◆ fd_events_
  
  | 
        
          | std::array<epoll_event, 8192> net::linux_epoll_io_service::fd_events_ {} |  | private | 
 
 
◆ fd_events_mtx_
  
  | 
        
          | std::mutex net::linux_epoll_io_service::fd_events_mtx_ |  | private | 
 
 
◆ fd_events_processed_
  
  | 
        
          | size_t net::linux_epoll_io_service::fd_events_processed_ {0} |  | private | 
 
 
◆ fd_events_size_
  
  | 
        
          | size_t net::linux_epoll_io_service::fd_events_size_ {0} |  | private | 
 
 
◆ kAllEvents
  
  | 
        
          | constexpr const int net::linux_epoll_io_service::kAllEvents |  | staticconstexpr | 
 
Initial value:=
static constexpr const int kAlwaysEnabledEvents
Definition: linux_epoll_io_service.h:63
static constexpr const int kSettableEvents
Definition: linux_epoll_io_service.h:62
 
 
◆ kAlwaysEnabledEvents
  
  | 
        
          | constexpr const int net::linux_epoll_io_service::kAlwaysEnabledEvents = EPOLLHUP | EPOLLERR |  | staticconstexpr | 
 
 
◆ kSettableEvents
  
  | 
        
          | constexpr const int net::linux_epoll_io_service::kSettableEvents = EPOLLIN | EPOLLOUT |  | staticconstexpr | 
 
 
◆ notify_fd_
◆ registered_events_
  
  | 
        
          | FdInterest net::linux_epoll_io_service::registered_events_ |  | private | 
 
 
◆ wakeup_fds_
The documentation for this class was generated from the following file: