qb_loop_timer_add - Man Page

Add a timer to the mainloop.

Synopsis

#include <qb/qbloop.h>

int32_t qb_loop_timer_add(
    qb_loop_t                 *l,                 /* pointer to the loop instance */
    enum qb_loop_priority      p,                 /* the priority */
    uint64_t                   nsec_duration,     /* nano-secs in the future to run the dispatch. */
    void                      *data,              /* user data passed into the dispatch function */
    qb_loop_timer_dispatch_fn  dispatch_fn,       /* callback function */
    qb_loop_timer_handle      *timer_handle_out   /* handle to delete the timer if needed. */
);

Params

l                pointer to the loop instance

p                the priority

nsec_duration    nano-secs in the future to run the dispatch.

data             user data passed into the dispatch function

dispatch_fn      callback function

timer_handle_out handle to delete the timer if needed.

Description

Structures

enum qb_loop_priority {


      QB_LOOP_LOW;

      QB_LOOP_MED;

      QB_LOOP_HIGH;
};

Return Value

status (0 == ok, -errno == failure)

Note

it is a one-shot job.

See Also

qb_loop_job_del(3), qb_loop_run(3), qb_loop_create(3), qb_loop_stop(3), qb_loop_poll_low_fds_event_set(3), qb_loop_signal_del(3), qb_loop_signal_add(3), qb_loop_job_add(3), qb_loop_poll_del(3), qb_loop_destroy(3), qb_loop_timer_expire_time_remaining(3), qb_loop_poll_mod(3), qb_loop_signal_mod(3), qb_loop_timer_del(3), qb_loop_timer_is_running(3), qb_loop_timer_expire_time_get(3), qb_loop_poll_add(3)

Referenced By

qb_loop_create(3), qb_loop_destroy(3), qbloop.h(3), qb_loop_job_add(3), qb_loop_job_del(3), qb_loop_poll_add(3), qb_loop_poll_del(3), qb_loop_poll_low_fds_event_set(3), qb_loop_poll_mod(3), qb_loop_run(3), qb_loop_signal_add(3), qb_loop_signal_del(3), qb_loop_signal_mod(3), qb_loop_stop(3), qb_loop_timer_del(3), qb_loop_timer_expire_time_get(3), qb_loop_timer_expire_time_remaining(3), qb_loop_timer_is_running(3).

2023-07-21 libqb Programmer's Manual