XROAD
xroad_timer.h File Reference
#include <stdbool.h>
#include "xroad_time.h"
#include "xroad_timer_ext.h"
#include "xroad_common_types.h"
#include "xroad_common_fwd.h"
Include dependency graph for xroad_timer.h:

Go to the source code of this file.

Classes

struct  xroad_timer_callback_t
 

Macros

#define xroad_timer_start(timer, interval)
 
#define xroad_timer_start_repeat(timer, start, repeat)
 
#define __xroad_timer_dtor__   __dtor__(xroad_timer_destructor)
 

Functions

xroad_timer_txroad_timer_create (xroad_str_t name, xroad_timer_callback_t cb)
 
xroad_errno_t xroad_timer_repeat (xroad_timer_t *tm, uint64_t interval)
 
void xroad_timer_stop (xroad_timer_t *tm)
 
void xroad_timer_destroy (xroad_timer_t *tm)
 
void xroad_timer_destructor (xroad_timer_t **timer)
 
bool xroad_timer_is_armed (const xroad_timer_t *tm)
 
xroad_str_t xroad_timer_get_name (const xroad_timer_t *tm)
 

Detailed Description

Macro Definition Documentation

◆ __xroad_timer_dtor__

#define __xroad_timer_dtor__   __dtor__(xroad_timer_destructor)

automatic destructor

◆ xroad_timer_start

#define xroad_timer_start (   timer,
  interval 
)
Value:
_Generic((interval), \
xroad_time_t: xroad_timer_start_tm, \
default: xroad_timer_start_int \
)(timer, interval)
Definition: xroad_time.h:26

once fires timer in interval time

Parameters
[in]tm- pointer to the timer instance
[in]interval,time- timer interval in microseconds or exact time (xroad_time_t)
Returns
XROAD_OK if success otherwise XROAD_FAILED

◆ xroad_timer_start_repeat

#define xroad_timer_start_repeat (   timer,
  start,
  repeat 
)
Value:
_Generic((start), \
xroad_time_t: xroad_timer_start_repeat_tm, \
default: xroad_timer_start_repeat_int \
)(timer, start, repeat)

fires timer after start interval and repeat in repeat interval

Parameters
[in]tm- pointer to the timer instance
[in]start- timer interval in microseconds when it starts first time or exact time
[in]repeat- timer repeat interval in microseconds
Returns
XROAD_OK if success otherwise XROAD_FAILED

Function Documentation

◆ xroad_timer_create()

xroad_timer_t* xroad_timer_create ( xroad_str_t  name,
xroad_timer_callback_t  cb 
)

create new timer instance

Parameters
[in]name- timer name. optional
[in]cb- callback function
Returns
pointer to new instance, NULL - error

◆ xroad_timer_destroy()

void xroad_timer_destroy ( xroad_timer_t tm)

destroy timer instance

Parameters
[in]tm- pointer to the timer instance. If NULL, nothing happened

◆ xroad_timer_get_name()

xroad_str_t xroad_timer_get_name ( const xroad_timer_t tm)

get timer name in format name(sock_id)

Parameters
[in]tm- timer instance
Returns
timer name

◆ xroad_timer_is_armed()

bool xroad_timer_is_armed ( const xroad_timer_t tm)

returns true if timer is armed

Parameters
[in]tm- pointer to the timer instance

◆ xroad_timer_repeat()

xroad_errno_t xroad_timer_repeat ( xroad_timer_t tm,
uint64_t  interval 
)

repeatedly fires timer in interval time

Parameters
[in]tm- pointer to the timer instance
[in]interval- timer interval in microseconds
Returns
XROAD_OK if success otherwise XROAD_FAILED

◆ xroad_timer_stop()

void xroad_timer_stop ( xroad_timer_t tm)

stop timer

Parameters
[in]tm- pointer to the timer instance