Options
All
  • Public
  • Public/Protected
  • All
Menu

An Invertible Bloom Lookup Table is a space-efficient and probabilistic data-structure for solving the set-difference problem efficiently without the use of logs or other prior context. It computes the set difference with communication proportional to the size of the difference between the sets being compared. They can simultaneously calculate D(A−B) and D(B−A) using O(d) space. This data structure encodes sets in a fashion that is similar in spirit to Tornado codes’ construction [6], in that it randomly combines elements using the XOR function Reference: Eppstein, D., Goodrich, M. T., Uyeda, F., & Varghese, G. (2011). What's the difference?: efficient set reconciliation without prior context. ACM SIGCOMM Computer Communication Review, 41(4), 218-229.

see

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.220.6282&rep=rep1&type=pdf for more details about Invertible Bloom Lookup Tables

author

Arnaud Grall

author

Thomas Minier

Hierarchy

Implements

Index

Properties

_elements: Cell[]
_hashCount: number
_hashing: Hashing
_rng: PRNG
_seed: number
_size: number

Methods

  • Create an Invertible Bloom filter optimal for an expected size and error rate.

    Parameters

    • nbItems: number

      Number of items expected to insert into the IBLT

    • errorRate: number

      Expected error rate

    Returns InvertibleBloomFilter

    A new Invertible Bloom filter optimal for the given parameters.

  • fromJSON(json: JSON): any
  • Load an Object from a provided JSON object

    Parameters

    • json: JSON

      the JSON object to load

    Returns any

    Return the Object loaded from the provided JSON object

  • List all entries from the filter using a Generator. The generator ends with True if the operation has not failed, False otheriwse. It is not recommended to modify an IBLT while listing its entries!

    Returns Generator<<internal>.Buffer, boolean, unknown>

    A generator that yields all filter's entries.

  • nextInt32(): number
  • saveAsJSON(): any

Constructors

Accessors

  • get elements(): Cell[]
  • get hashCount(): number
  • get length(): number
  • Get a function used to draw random number

    Returns PRNG

    A factory function used to draw random integer

  • get seed(): number
  • set seed(seed: number): void
  • Get the seed used in this structure

    Returns number

  • Set the seed for this structure

    Parameters

    • seed: number

      the new seed that will be used in this structure

    Returns void

  • get size(): number

Generated using TypeDoc