# Module iblt

- Description
- Data Types
- Function Index
- Function Details

Invertible Bloom Lookup Table Operations: Insert, Delete, Get, ListEntries.

Copyright © 2011 Zuse Institute Berlin

Version: $Id$

Authors: Maik Lange (`malange@informatik.hu-berlin.de`).

References

- 1) M.T. Goodrich, M. Mitzenmacher Invertible Bloom Lookup Tables 2011 ArXiv e-prints. 1101.2245 2) D. Eppstein, M.T. Goodrich, F. Uyeda, G. Varghese Whats the Difference? Efficient Set Reconciliation without Prior Context 2011 SIGCOMM'11 Vol.41(4)

## Description

Invertible Bloom Lookup Table Operations: Insert, Delete, Get, ListEntries

## Data Types

### cell()

    cell() =
        {Count :: non_neg_integer(),
         KeySum :: binary(),
         KeyHashSum :: non_neg_integer(),
         ValSum :: value(),
         ValHashSum :: non_neg_integer()}

### iblt()

    iblt() =
        #iblt{hfs = hfs_lhsp:hfs(),
              table = table(),
              cell_count = non_neg_integer(),
              col_size = non_neg_integer(),
              item_count = non_neg_integer()}

### option()

    option() = prime

### options()

    options() = [] | [option()]

### table()

    table() = [] | [{ColNr :: pos_integer(), Cells :: [cell()]}]

### value()

    value() = integer()

## Function Index

delete/3 |
get/2 |
get_fpr/1 | calculates actual false positive rate depending on saturation degree.
get_prop/2 |
insert/3 |
is_element/2 |
list_entries/1 | lists all correct entries of this structure correct entries can be retrieved out of pure cells a pure cell := count = 1 and check_sum(keySum)=keyHashSum and check_sum(valSum)=valHashSum.
new/2 |
new/3 |

## Function Details

### new/2

    new(Hfs :: hfs_lhsp:hfs(), CellCount :: pos_integer()) -> iblt()

### new/3

    new(Hfs :: hfs_lhsp:hfs(),
        CellCount :: pos_integer(),
        Options :: options()) ->
           iblt()

### insert/3

    insert(IBLT :: iblt(), Key :: rt_chord:key(), Value :: value()) ->
              iblt()

### delete/3

    delete(IBLT :: iblt(), Key :: rt_chord:key(), Value :: value()) ->
              iblt()

### get/2

    get(Iblt :: iblt(), Key :: rt_chord:key()) -> value() | not_found

### list_entries/1

    list_entries(IBLT :: iblt()) -> [{rt_chord:key(), value()}]

lists all correct entries of this structure correct entries can be retrieved out of pure cells a pure cell := count = 1 and check_sum(keySum)=keyHashSum and check_sum(valSum)=valHashSum

### is_element/2

    is_element(Iblt :: iblt(), Key :: rt_chord:key()) -> boolean()

### get_fpr/1

    get_fpr(Iblt :: iblt()) -> float()

calculates actual false positive rate depending on saturation degree

### get_prop/2

    get_prop(Prop :: atom(), IBLT :: iblt()) -> any()

Generated by EDoc, Feb 29 2016, 16:12:15.