Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Trickle algorithm library. More...
Data Structures | |
struct | net_trickle |
The variable names are taken directly from RFC 6206 when applicable. More... | |
Typedefs | |
typedef void(* | net_trickle_cb_t) (struct net_trickle *trickle, bool do_suppress, void *user_data) |
Trickle timer callback. | |
Functions | |
int | net_trickle_create (struct net_trickle *trickle, uint32_t Imin, uint8_t Imax, uint8_t k) |
Create a Trickle timer. | |
int | net_trickle_start (struct net_trickle *trickle, net_trickle_cb_t cb, void *user_data) |
Start a Trickle timer. | |
int | net_trickle_stop (struct net_trickle *trickle) |
Stop a Trickle timer. | |
void | net_trickle_consistency (struct net_trickle *trickle) |
To be called by the protocol handler when it hears a consistent network transmission. | |
void | net_trickle_inconsistency (struct net_trickle *trickle) |
To be called by the protocol handler when it hears an inconsistent network transmission. | |
static bool | net_trickle_is_running (struct net_trickle *trickle) |
Check if the Trickle timer is running or not. | |
Trickle algorithm library.
net_trickle_cb_t |
#include <include/zephyr/net/trickle.h>
Trickle timer callback.
The callback is called after Trickle timeout expires.
trickle | The trickle context to use. |
do_suppress | Is TX allowed (true) or not (false). |
user_data | The user data given in net_trickle_start() call. |
void net_trickle_consistency | ( | struct net_trickle * | trickle | ) |
#include <include/zephyr/net/trickle.h>
To be called by the protocol handler when it hears a consistent network transmission.
trickle | Pointer to Trickle struct. |
int net_trickle_create | ( | struct net_trickle * | trickle, |
uint32_t | Imin, | ||
uint8_t | Imax, | ||
uint8_t | k | ||
) |
#include <include/zephyr/net/trickle.h>
Create a Trickle timer.
trickle | Pointer to Trickle struct. |
Imin | Imin configuration parameter in ms. |
Imax | Max number of doublings. |
k | Redundancy constant parameter. See RFC 6206 for details. |
void net_trickle_inconsistency | ( | struct net_trickle * | trickle | ) |
#include <include/zephyr/net/trickle.h>
To be called by the protocol handler when it hears an inconsistent network transmission.
trickle | Pointer to Trickle struct. |
|
inlinestatic |
#include <include/zephyr/net/trickle.h>
Check if the Trickle timer is running or not.
trickle | Pointer to Trickle struct. |
int net_trickle_start | ( | struct net_trickle * | trickle, |
net_trickle_cb_t | cb, | ||
void * | user_data | ||
) |
#include <include/zephyr/net/trickle.h>
Start a Trickle timer.
trickle | Pointer to Trickle struct. |
cb | User callback to call at time T within the current trickle interval |
user_data | User pointer that is passed to callback. |
int net_trickle_stop | ( | struct net_trickle * | trickle | ) |
#include <include/zephyr/net/trickle.h>
Stop a Trickle timer.
trickle | Pointer to Trickle struct. |