Data Fields
trickle_timer Struct Reference

A trickle timer. More...

#include <os/lib/trickle-timer.h>

Data Fields

clock_time_t i_min
 Imin: Clock ticks.
clock_time_t i_cur
 I: Current interval in clock_ticks.
clock_time_t i_start
 Start of this interval (absolute clock_time)
clock_time_t i_max_abs
 Maximum interval size in clock ticks (and not in number of doublings). More...
struct ctimer ct
 A Callback timer used internally.
trickle_timer_cb_t cb
 Protocol's own callback, invoked at time t within the current interval.
void * cb_arg
 Opaque pointer to be used as the argument of the protocol's callback.
uint8_t i_max
 Imax: Max number of doublings.
uint8_t k
 k: Redundancy Constant
uint8_t c
 c: Consistency Counter

Detailed Description

A trickle timer.

This structure is used for declaring a trickle timer. In order for the timer to start running, the protocol must first populate the structure's fields by calling trickle_timer_set(). Protocol implementations must NOT modify the contents of this structure directly.

Protocol developers must also be careful to specify the values of Imin and Imax in such a way that the maximum interval size does not exceed the boundaries of clock_time_t

Definition at line 364 of file trickle-timer.h.

Field Documentation

◆ i_max_abs

clock_time_t trickle_timer::i_max_abs

Maximum interval size in clock ticks (and not in number of doublings).

This is a cached value of Imin << Imax used internally, so that we can have direct access to the maximum interval size without having to calculate it all the time

Definition at line 368 of file trickle-timer.h.