Poll handle. More...
#include "handle-misc.hpp"
Public Types | |
| using | uv_t = ::uv_poll_t |
| using | on_poll_t = std::function< void(poll _handle, int _events) > |
| The function type of the handle's callback. | |
Public Types inherited from uv::handle | |
| using | uv_t = ::uv_handle_t |
| using | on_destroy_t = std::function< void(void *_data) > |
| The function type of the callback called when the handle has been closed and about to be destroyed. More... | |
Public Member Functions | |
| poll (const poll &)=default | |
| poll & | operator= (const poll &)=default |
| poll (poll &&) noexcept=default | |
| poll & | operator= (poll &&) noexcept=default |
| poll (uv::loop &_loop, int _fd) | |
Create a poll handle for a file descriptor (Windows and Unix-like systems) or for a socket descriptor (Unix-like systems only). More... | |
| poll (uv::loop &_loop, ::uv_os_sock_t _socket) | |
Create a poll handle for a socket descriptor. (Windows only.) More... | |
| on_poll_t & | on_poll () const noexcept |
| Set the handle's callback. | |
| int | start (int _events) const |
| Start the handle. More... | |
| template<class _Cb_ , typename... _Args_, typename = std::enable_if_t< std::is_convertible< decltype(std::bind(std::declval< _Cb_ >(), std::placeholders::_1, std::placeholders::_2, static_cast< _Args_&& >(std::declval< _Args_ >())...)), on_poll_t >::value >> | |
| int | start (int _events, _Cb_ &&_cb, _Args_ &&... _args) const |
| Start the handle with the given callback. More... | |
| int | stop () const noexcept |
| Stop the handle, the callback will no longer be called. | |
| operator const uv_t * () const noexcept | |
| operator uv_t * () noexcept | |
Public Member Functions inherited from uv::handle | |
| handle (const handle &_that) | |
| handle & | operator= (const handle &_that) |
| handle (handle &&_that) noexcept | |
| handle & | operator= (handle &&_that) noexcept |
| void | swap (handle &_that) noexcept |
| std::uintptr_t | id () const noexcept |
| The unique ID of the instance managed by this handle variable or 0 if the handle is void. | |
| long | nrefs () const noexcept |
| The current number of existing references to the same object as this handle variable refers to. | |
| int | uv_status () const noexcept |
| The status value returned by the last executed libuv API function on this handle. | |
| on_destroy_t & | on_destroy () const noexcept |
| ::uv_handle_type | type () const noexcept |
| The tag indicating the libuv type of the handle. | |
| const char * | type_name () const noexcept |
| A string containing the name of the handle type. | |
| uv::loop | loop () const noexcept |
| The libuv loop where the handle is running on. More... | |
| void *& | data () const noexcept |
| The pointer to the user-defined arbitrary data. libuv and uvcc does not use this field. | |
| int | is_active () const noexcept |
| Check if the handle is active. More... | |
| int | is_closing () const noexcept |
| Check if the handle is closing or closed. More... | |
| ::uv_os_fd_t | fileno () const noexcept |
| Get the platform dependent handle/file descriptor. More... | |
| operator const uv_t * () const noexcept | |
| operator uv_t * () noexcept | |
| operator bool () const noexcept | |
Equivalent to (id() and uv_status() >= 0). | |
| void | attached (bool _state) const noexcept |
| bool | attached () const noexcept |
Poll handle.
uv_poll_t — Poll handle. Definition at line 1526 of file handle-misc.hpp.
|
inline |
Create a poll handle for a file descriptor (Windows and Unix-like systems) or for a socket descriptor (Unix-like systems only).
uv_poll_init(). Definition at line 1578 of file handle-misc.hpp.
|
inline |
Create a poll handle for a socket descriptor. (Windows only.)
uv_poll_init_socket(). Definition at line 1591 of file handle-misc.hpp.
|
inline |
Start the handle.
stop() is called. Repeated calls don't change the reference count. uv_poll_start(). Definition at line 1611 of file handle-misc.hpp.
|
inline |
Start the handle with the given callback.
This is equivalent for
poll::start() Definition at line 1657 of file handle-misc.hpp.