Congure definitions for 6LoWPAN selective fragment recovery. More...
Congure definitions for 6LoWPAN selective fragment recovery.
Definition in file congure.h.
#include <stdbool.h>
#include <stdlib.h>
#include "congure.h"
#include "modules.h"
#include "net/gnrc/sixlowpan/frag/sfr.h"
Go to the source code of this file.
Macros | |
#define | GNRC_SIXLOWPAN_FRAG_SFR_CONGURE_UNIT (1U) |
The user-defined window unit for congure is one fragment with SFR. | |
Functions | |
congure_snd_t * | gnrc_sixlowpan_frag_sfr_congure_snd_get (void) |
Retrieve CongURE state object from a pool of free objects. | |
static void | gnrc_sixlowpan_frag_sfr_congure_snd_free (congure_snd_t *c) |
Frees the CongURE state object. | |
static void | gnrc_sixlowpan_frag_sfr_congure_snd_destroy (gnrc_sixlowpan_frag_fb_t *fb) |
Frees the CongURE state object of a fragmentation buffer and set's it to NULL | |
static void | gnrc_sixlowpan_frag_sfr_congure_snd_init (gnrc_sixlowpan_frag_fb_t *fb) |
Initializes a CongURE state object in a fragmentation buffer entry. | |
static void | gnrc_sixlowpan_frag_sfr_congure_snd_setup (gnrc_sixlowpan_frag_fb_t *fb) |
Retrieve CongURE state object when not retrieved and initialize it for a fragmentation buffer entry. | |
static bool | gnrc_sixlowpan_frag_sfr_congure_snd_in_cwnd (gnrc_sixlowpan_frag_fb_t *fb) |
Checks if given fragmentation buffer entry is within congestion window. | |
static bool | gnrc_sixlowpan_frag_sfr_congure_snd_next_in_cwnd (gnrc_sixlowpan_frag_fb_t *fb) |
Checks if given fragmentation buffer entry would still be within congestion window after next send. | |
static bool | gnrc_sixlowpan_frag_sfr_congure_snd_has_inter_frame_gap (void) |
Checks if inter-frame gap is provided. | |
static uint32_t | gnrc_sixlowpan_frag_sfr_congure_snd_inter_frame_gap (gnrc_sixlowpan_frag_fb_t *fb) |
Returns inter-frame gap if provided by CongURE implementation. | |
static void | gnrc_sixlowpan_frag_sfr_congure_snd_report_frag_sent (gnrc_sixlowpan_frag_fb_t *fb) |
Report to CongURE that a fragment was sent. | |
static void | gnrc_sixlowpan_frag_sfr_congure_snd_report_frag_discard (gnrc_sixlowpan_frag_fb_t *fb) |
Report to CongURE that a fragment as discarded. | |
static void | gnrc_sixlowpan_frag_sfr_congure_snd_report_frags_timeout (gnrc_sixlowpan_frag_fb_t *fb) |
Report to CongURE that the ACK for a fragment timed out. | |
static void | gnrc_sixlowpan_frag_sfr_congure_snd_report_frags_lost (gnrc_sixlowpan_frag_fb_t *fb, congure_snd_msg_t *frags) |
Report to CongURE that a number of fragments are known to be lost. | |
static void | gnrc_sixlowpan_frag_sfr_congure_snd_report_frag_acked (gnrc_sixlowpan_frag_fb_t *fb, congure_snd_msg_t *frag, congure_snd_ack_t *ack) |
Report to CongURE that a number of fragments are known to be lost. | |
static void | gnrc_sixlowpan_frag_sfr_congure_snd_report_ecn (gnrc_sixlowpan_frag_fb_t *fb, uint32_t time) |
Report to CongURE that ECN bit was set in an ACK. | |