Loading...
Searching...
No Matches

Congure definitions for 6LoWPAN selective fragment recovery. More...

Detailed Description

Congure definitions for 6LoWPAN selective fragment recovery.

Author
Martine S. Lenders m.len.nosp@m.ders.nosp@m.@fu-b.nosp@m.erli.nosp@m.n.de

Definition in file congure.h.

#include <stdbool.h>
#include <stdlib.h>
#include "congure.h"
#include "modules.h"
#include "net/gnrc/sixlowpan/frag/sfr.h"
+ Include dependency graph for congure.h:
+ This graph shows which files directly or indirectly include this file:

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_tgnrc_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.