Contiki 2.5
|
Files | |
file | convergence_layer.c |
IEEE 802.15.4 Convergence Layer Implementation. | |
file | convergence_layer.h |
IEEE 802.15.4 Convergence Layer Implementation. | |
Data Structures | |
struct | transmit_ticket_t |
Bundle Queue Entry. More... | |
Macros | |
#define | CONVERGENCE_LAYER_QUEUE 10 |
How many outgoing bundles can we queue? | |
#define | CONVERGENCE_LAYER_QUEUE_FREE (0.2 * CONVERGENCE_LAYER_QUEUE) |
How many queue slots remain free for internal use? | |
#define | CONVERGENCE_LAYER_RETRIES 4 |
How often shall we retransmit bundles before we notify routing. | |
#define | CONVERGENCE_LAYER_FAILED_RETRIES 15 |
How often shell we retry to transmit, if it has not been transmitted at all? | |
#define | CONVERGENCE_LAYER_TIMEOUT 5 |
How long shall we wait for an app-layer ACK or NACK? [in seconds]. | |
#define | CONVERGENCE_LAYER_RETRANSMIT_TIMEOUT 0.5 |
How long shell we wait before retransmitting an app-layer ACK or NACK? [in seconds]. | |
#define | CONVERGENCE_LAYER_RETRANSMIT_TRIES (CONVERGENCE_LAYER_TIMEOUT / CONVERGENCE_LAYER_RETRANSMIT_TIMEOUT) |
How often shall we retransmit? | |
#define | CONVERGENCE_LAYER_QUEUE_ACTIVE 0x01 |
Bundle queue flags. | |
#define | CONVERGENCE_LAYER_COMPAT 0x00 |
CL COMPAT VALUES. | |
#define | CONVERGENCE_LAYER_TYPE_DATA 0x10 |
CL Header Types. | |
#define | CONVERGENCE_LAYER_FLAGS_FIRST 0x02 |
CL Packet Flags. | |
#define | CONVERGENCE_LAYER_MASK_COMPAT 0xC0 |
CL Field Masks. | |
#define | CONVERGENCE_LAYER_STATUS_OK 0x01 |
CL Callback Status. | |
#define | CONVERGENCE_LAYER_PRIORITY_NORMAL 0x01 |
CL Priority Values. | |
#define | CONVERGENCE_LAYER_MAX_LENGTH 115 |
Maximum payload length of one outgoing frame. | |
Functions | |
LIST (transmission_ticket_list) | |
List to keep track of outgoing bundles. | |
LIST (blocked_neighbour_list) | |
List to keep track of blocked neighbours. | |
int | convergence_layer_is_blocked (rimeaddr_t *neighbour) |
Internal functions. | |
PROCESS (convergence_layer_process,"CL process") | |
CL process. | |
PROCESS_NAME (convergence_layer_process) | |
Convergence Layer Process. | |
Variables | |
int | convergence_layer_transmitting |
MUTEX to avoid flooding the MAC layer with outgoing bundles. | |
int | convergence_layer_slots |
Keep track of the allocated tickets. | |
int | convergence_layer_queue |
Keep track of the tickets in queue. | |
uint8_t | outgoing_sequence_number |
Use a unique sequence number of each outgoing segment. | |
uint8_t | convergence_layer_pending |
Indicate when a continue event or poll to ourselves is pending to avoid exceeding the event queue size. | |
struct etimer | convergence_layer_backoff |
Backoff timer. | |