Modules | |
Rime queue buffer management | |
The queuebuf module handles buffers that are queued. | |
Rime addresses | |
The linkaddr module is an abstract representation of addresses in Rime. | |
Rime buffer management | |
The packetbuf module does Rime's buffer management. | |
Packet queue | |
The packetqueue module handles a list of queued packets. | |
Single-hop reliable bulk data transfer | |
The rudolph0 module implements a single-hop reliable bulk data transfer mechanism. | |
Reliable single-source multi-hop flooding | |
The trickle module sends a single packet to all nodes on the network. | |
Stubborn unicast | |
The stubborn single-hop unicast primitive (stunicast) repeatedly sends a packet to a single-hop neighbor using the unicast primitive. | |
Rime route discovery protocol | |
The route-discovery module does route discovery for Rime. | |
Collect neighbor management | |
The neighbor module manages the neighbor table that is used by the Collect module. | |
Link estimate management | |
The link estimate module is used for computing estimations of link quality. | |
Stubborn best-effort local area broadcast | |
The stbroadcast module provides stubborn anonymous best-effort local area broadcast. | |
Single-hop reliable unicast | |
The reliable single-hop unicast primitive (runicast) reliably sends a packet to a single-hop neighbor. | |
Best-effort network flooding | |
The netflood module does best-effort flooding. | |
Mesh routing | |
The mesh module sends packets using multi-hop routing to a specified receiver somewhere in the network. | |
Polite anonymous best effort local broadcast | |
The polite module sends one local area broadcast packet within one time interval. | |
Multi-hop reliable bulk data transfer | |
The rudolph1 module implements a multi-hop reliable bulk data transfer mechanism. | |
Best-effort multihop forwarding | |
The rmh module implements a multihop forwarding mechanism. | |
Rimepoliteannouncement | |
The polite announcement module implements a periodic explicit announcement. | |
Ipolite best effort local broadcast | |
The ipolite module sends one local area broadcast packet within one time interval. | |
Single-hop unicast | |
The unicast module sends a packet to an identified single-hop neighbor. | |
Neighbor discovery | |
The neighbor-discovery module implements a periodic neighbor discovery mechanism. | |
Anonymous best-effort local area broadcast | |
The abc module sends packets to all local area neighbors. | |
Rimebroadcastannouncement | |
The broadcast announcement module implements a periodic explicit announcement. | |
Best-effort local area broadcast | |
The broadcast module sends packets to all local area neighbors with an a header that identifies the sender. | |
Tree-based hop-by-hop reliable data collection | |
The collect module implements a hop-by-hop reliable data collection mechanism. | |
Announcements | |
The Announcement primitive does local area announcements. | |
Rime route table | |
The route module handles the route table in Rime. | |
Data Structures | |
struct | collect_link_estimate |
struct | rime_sniffer |
Files | |
file | collect-link-estimate.h |
Header file for the Collect link estimate | |
file | rime.h |
Header file for the Rime stack | |
Macros | |
#define | COLLECT_LINK_ESTIMATE_UNIT 8 |
#define | RIME_SNIFFER(name, input_callback, output_callback) static struct rime_sniffer name = { NULL, input_callback, output_callback } |
Enumerations | |
enum | { RIME_OK, RIME_ERR, RIME_ERR_CONTENTION, RIME_ERR_NOACK } |
Functions | |
uint16_t | collect_link_estimate (struct collect_link_estimate *le) |
Compute the link estimate metric for a link estimate. More... | |
void | collect_link_estimate_new (struct collect_link_estimate *le) |
Initialize a new link estimate. More... | |
int | collect_link_estimate_num_estimates (struct collect_link_estimate *le) |
void | collect_link_estimate_update_rx (struct collect_link_estimate *le) |
Update a link estimate when a packet has been received. More... | |
void | collect_link_estimate_update_tx (struct collect_link_estimate *le, uint8_t num_tx) |
Update a link estimate when a packet has been sent. More... | |
void | collect_link_estimate_update_tx_fail (struct collect_link_estimate *le, uint8_t num_tx) |
Update a link estimate when a packet has failed to be sent. More... | |
int | rime_init (void) |
Initialize Rime. More... | |
void | rime_input (void) |
Send an incoming packet to Rime. More... | |
int | rime_output (struct channel *c) |
void | rime_sniffer_add (struct rime_sniffer *s) |
void | rime_sniffer_remove (struct rime_sniffer *s) |
Variables | |
struct network_driver | rime_driver |
#define COLLECT_LINK_ESTIMATE_UNIT 8 |
#define RIME_SNIFFER | ( | name, | |
input_callback, | |||
output_callback | |||
) | static struct rime_sniffer name = { NULL, input_callback, output_callback } |
uint16_t collect_link_estimate | ( | struct collect_link_estimate * | le | ) |
Compute the link estimate metric for a link estimate.
le | A pointer to a link estimate structure |
void collect_link_estimate_new | ( | struct collect_link_estimate * | le | ) |
Initialize a new link estimate.
le | A pointer to a link estimate structure This function initializes a link estimate. |
int collect_link_estimate_num_estimates | ( | struct collect_link_estimate * | le | ) |
void collect_link_estimate_update_rx | ( | struct collect_link_estimate * | le | ) |
Update a link estimate when a packet has been received.
le | A pointer to a link estimate structure This function updates a link estimate. This function is called when a packet has been received. The function uses information from the packet buffer and its attributes. |
void collect_link_estimate_update_tx | ( | struct collect_link_estimate * | le, |
uint8_t | num_tx | ||
) |
Update a link estimate when a packet has been sent.
le | A pointer to a link estimate structure |
num_tx | The number of times the packet was transmitted before it was ACKed This function updates a link estimate. This function is called when a packet has been sent. The function may use information from the packet buffer and the packet buffer attributes when computing the link estimate. |
void collect_link_estimate_update_tx_fail | ( | struct collect_link_estimate * | le, |
uint8_t | num_tx | ||
) |
Update a link estimate when a packet has failed to be sent.
le | A pointer to a link estimate structure |
num_tx | The number of times the packet was transmitted before it was given up on. This function updates a link estimate. This function is called when a packet has been sent. The function may use information from the packet buffer and the packet buffer attributes when computing the link estimate. |
int rime_init | ( | void | ) |
Initialize Rime.
This function should be called from the system boot up code to initialize Rime.
void rime_input | ( | void | ) |
Send an incoming packet to Rime.
This function should be called by the network driver to hand over a packet to Rime for further processing. The packet should be placed in the packetbuf (with packetbuf_copyfrom()) before calling this function.
int rime_output | ( | struct channel * | c | ) |
void rime_sniffer_add | ( | struct rime_sniffer * | s | ) |
References s.
void rime_sniffer_remove | ( | struct rime_sniffer * | s | ) |
References NULL.
struct network_driver rime_driver |