Zth (libzth)
|
The abstract base class of a Poller client. More...
#include <poller.h>
Public Types | |
typedef small_vector< Pollable * > | Result |
Result of poll(). More... | |
Public Member Functions | |
virtual | ~PollerClientBase () override=default |
virtual Result const & | poll (int timeout_ms=-1) noexcept=0 |
Poll. More... | |
virtual void | event (Pollable &p) noexcept=0 |
Indicate that the given pollable got an event. More... | |
Public Member Functions inherited from zth::PollerInterface | |
virtual | ~PollerInterface ()=default |
Dtor. More... | |
virtual int | add (Pollable &p) noexcept=0 |
Add a pollable object. More... | |
int | add (std::initializer_list< std::reference_wrapper< Pollable >> l) noexcept |
Add pollable objects. More... | |
virtual int | remove (Pollable &p) noexcept=0 |
Remove a pollable object. More... | |
virtual void | reserve (size_t more)=0 |
Reserve memory to add more pollables. More... | |
virtual bool | empty () const noexcept=0 |
Checks if there is any pollable registered. More... | |
Public Member Functions inherited from zth::UniqueID< PollerInterface > | |
UniqueID (UniqueID const &)=delete | |
UniqueID (UniqueID &&u) noexcept | |
UniqueID (string const &name) | |
UniqueID (string &&name) | |
UniqueID (char const *name=nullptr) | |
UniqueID & | operator= (UniqueID const &)=delete |
UniqueID & | operator= (UniqueID &&u) noexcept |
virtual | ~UniqueID ()=default |
void const * | normptr () const noexcept |
uint64_t | id () const noexcept |
string const & | name () const noexcept |
void | setName (string const &name) |
void | setName (char const *name) |
void | setName (string &&name) |
virtual char const * | id_str () const override |
Additional Inherited Members | |
Static Public Member Functions inherited from zth::UniqueID< PollerInterface > | |
static uint64_t | getID () noexcept |
Protected Member Functions inherited from zth::UniqueIDBase | |
virtual | ~UniqueIDBase ()=default |
The abstract base class of a Poller client.
A call to poll() forwards all registered Pollables to the server. When a Pollable has an event, the server passes it to the client via event().
|
overridevirtualdefault |
|
pure virtualnoexcept |
Indicate that the given pollable got an event.
Implemented in zth::PollerClient.
|
pure virtualnoexcept |
Poll.
When timeout_ms
is -1, poll()
blocks until at least one of the pollables got an event. When timeout_ms
is 0, poll()
never blocks. Otherwise, poll()
blocks at most for timeout_ms
and return with a timeout, or return earlier when a pollable got an event.
errno
is set to the error. Implemented in zth::PollerClient.