Contiki 2.5
Macros | Functions | Variables
redundancy_bloomfilter.c File Reference

Implementation of a bloomfilter-based redundancy module. More...

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "contiki.h"
#include "logging.h"
#include "hash.h"
#include "redundancy.h"

Go to the source code of this file.

Macros

#define REDUNDANCE_SIZE   128
 How much RAM can we invest into detecting redundant bundles?
 
#define REDUNDANCE_NUMBER   2
 How many bloomfilter shall we use in parallel?
 
#define REDUNDANCE_LIMIT   100
 How many bundles should go into each of the filters?
 

Functions

uint32_t bloomfilter_get_length ()
 Get the length of each bloomfilter. More...
 
char * bloomfilter_get_start (uint8_t filter)
 Returns the pointer to the start of a bloom filter. More...
 
void bloomfilter_set (uint32_t bit, uint8_t filter)
 Sets a bit in a given bloom filter. More...
 
uint8_t bloomfilter_get (uint32_t bit, uint8_t filter)
 Checks if a certain bit is set in a bloom filter. More...
 
void bloomfilter_clear (uint8_t filter)
 Clears the content of a bloom filter. More...
 
uint8_t redundancy_bloomfilter_check (uint32_t bundle_number)
 checks if bundle was delivered before More...
 
uint8_t redundancy_bloomfilter_set (uint32_t bundle_number)
 saves the bundle in a list of delivered bundles More...
 
void redundancy_bloomfilter_init (void)
 Initialize the bloomfilters and various other state.
 

Variables

char redundance_filters [REDUNDANCE_SIZE]
 Holds the bloomfilter(s)
 
uint8_t redundance_counter = 0
 Counts the number of bundles in a bloom filter.
 
uint8_t redundance_pointer = 0
 Points to the filter that is currently in use.
 

Detailed Description

Implementation of a bloomfilter-based redundancy module.

Author
Wolf-Bastian Poettner poett.nosp@m.ner@.nosp@m.ibr.c.nosp@m.s.tu.nosp@m.-bs.d.nosp@m.e

Definition in file redundancy_bloomfilter.c.