File descriptor poller.
using iterator = value_type *Container iterator type.
using value_type = container_type::value_typeContainer element type.
const typedef value_type * const_iteratorContainer const iterator type.
template <class Lock, class Clock, class Duration, class Pred> wait_until(Lock & lock, const std::chrono::time_point< Clock, Duration > & tp, Pred pred) -> bool
Wait for events to occur until specified time dur unlocking lock for the duration of the wait until predicate pred becomes true or timeout occurs.
pred is true upon the call to this method no waiting or unlocking is done
template <class Lock, class Clock, class Duration> wait_until(Lock & lock, const std::chrono::time_point< Clock, Duration > & tp) -> std::cv_status
Wait for events to occur until specified time tp unlocking lock for the duration of the wait.
template <class Lock, class Duration, class Pred> wait_until(Lock & lock, const time_point< Duration > & tp, Pred pred) -> bool
Wait for events to occur until specified time tp unlocking lock for the duration of the wait until predicate pred becomes true.
pred is true upon the call to this method no waiting or unlocking is done
template <class Lock, class Duration> wait_until(Lock & lock, const time_point< Duration > & tp) -> std::cv_status
Wait for events to occur until specified time tp unlocking lock for the duration of the wait.
template <class Lock, class Rep, class Period, class Pred> wait_for(Lock & lock, const std::chrono::duration< Rep, Period > & dur, Pred pred) -> bool
Wait for events to occur specified amount of time dur unlocking lock for the duration of the wait until predicate pred becomes true or timeout occurs.
pred is true upon the call to this method no waiting or unlocking is done
template <class Lock, class Rep, class Period> wait_for(Lock & lock, const std::chrono::duration< Rep, Period > & dur) -> std::cv_status
Wait for events to occur specified amount of time dur unlocking lock for the duration of the wait.
std::errc::interrupted
template <class Lock, class Pred> wait(Lock & lock, Pred pred) -> void
Wait for events to occur unlocking lock for the duration of the wait until predicate pred becomes true.
std::errc::interrupted
pred is true upon the call to this method no waiting or unlocking is done
template <class Lock> wait(Lock & lock) -> void
Wait for events to occur unlocking lock for the duration of the wait.
resize(int new_size) -> voidChange maximum number of events that the poller handles at a time
erase(const epoll_event & ev) -> void
Remove file descriptor-event mask pair to the poller.
Equivalent to erase(ev.fd()).
erase(fd_type fd) -> void
Remove file descriptor fd from the poller.
replace(epoll_event ev) -> voidUpdate event mask for existing file descriptor.
emplace(fd_type fd, event ev) -> void
Construct epoll_event in-place with file descriptor fd and event mask ev and add it to the poller.
insert(epoll_event ev) -> voidAdd file descriptor-event mask pair to the poller.
end() const -> const_iteratorReturns iterator to the end of array of events.
begin() const -> const_iteratorReturns iterator to the beginning of array of events.
notify_all() -> voidNotify poller of an external event via pipe_in.
notify_one() -> voidNotify poller of an external event via pipe_in.
pipe_in() const -> fd_typeReturns file descriptor which is used to notify poller of an external event.
close() -> voidClose poller and notification file descriptors. After this operation poller becomes unusable.
operator=(event_poller &&) -> event_poller &event_poller(event_poller &&)operator=(const event_poller &) -> event_poller &event_poller(const event_poller &)~event_poller()event_poller(int maxevents = 4096/sizeof(epoll_event))explicit
Construct event poller with maxevent number of events.