Blame docs/src/idle.rst

Packit b5b901
Packit b5b901
.. _idle:
Packit b5b901
Packit b5b901
:c:type:`uv_idle_t` --- Idle handle
Packit b5b901
===================================
Packit b5b901
Packit b5b901
Idle handles will run the given callback once per loop iteration, right
Packit b5b901
before the :c:type:`uv_prepare_t` handles.
Packit b5b901
Packit b5b901
.. note::
Packit b5b901
    The notable difference with prepare handles is that when there are active idle handles,
Packit b5b901
    the loop will perform a zero timeout poll instead of blocking for i/o.
Packit b5b901
Packit b5b901
.. warning::
Packit b5b901
    Despite the name, idle handles will get their callbacks called on every loop iteration,
Packit b5b901
    not when the loop is actually "idle".
Packit b5b901
Packit b5b901
Packit b5b901
Data types
Packit b5b901
----------
Packit b5b901
Packit b5b901
.. c:type:: uv_idle_t
Packit b5b901
Packit b5b901
    Idle handle type.
Packit b5b901
Packit b5b901
.. c:type:: void (*uv_idle_cb)(uv_idle_t* handle)
Packit b5b901
Packit b5b901
    Type definition for callback passed to :c:func:`uv_idle_start`.
Packit b5b901
Packit b5b901
Packit b5b901
Public members
Packit b5b901
^^^^^^^^^^^^^^
Packit b5b901
Packit b5b901
N/A
Packit b5b901
Packit b5b901
.. seealso:: The :c:type:`uv_handle_t` members also apply.
Packit b5b901
Packit b5b901
Packit b5b901
API
Packit b5b901
---
Packit b5b901
Packit b5b901
.. c:function:: int uv_idle_init(uv_loop_t* loop, uv_idle_t* idle)
Packit b5b901
Packit Service e08953
    Initialize the handle. This function always succeeds.
Packit Service e08953
Packit Service e08953
    :returns: 0
Packit b5b901
Packit b5b901
.. c:function:: int uv_idle_start(uv_idle_t* idle, uv_idle_cb cb)
Packit b5b901
Packit Service e08953
    Start the handle with the given callback. This function always succeeds,
Packit Service e08953
    except when `cb` is `NULL`.
Packit Service e08953
Packit Service e08953
    :returns: 0 on success, or `UV_EINVAL` when `cb == NULL`.
Packit b5b901
Packit b5b901
.. c:function:: int uv_idle_stop(uv_idle_t* idle)
Packit b5b901
Packit b5b901
    Stop the handle, the callback will no longer be called.
Packit Service e08953
    This function always succeeds.
Packit Service e08953
Packit Service e08953
    :returns: 0
Packit b5b901
Packit b5b901
.. seealso:: The :c:type:`uv_handle_t` API functions also apply.