Invertible Bloom Lookup Table (Invertible Bloom Filter)
More...
#include <PSync/detail/iblt.hpp>
Invertible Bloom Lookup Table (Invertible Bloom Filter)
Used by Partial Sync (PartialProducer) and Full Sync (Full Producer)
Definition at line 94 of file iblt.hpp.
◆ IBLT()
constructor
- Parameters
-
expectedNumEntries | the expected number of entries in the IBLT |
scheme | compression scheme to be used for the IBLT |
Definition at line 75 of file iblt.cpp.
◆ appendToName()
void psync::detail::IBLT::appendToName |
( |
ndn::Name & |
name | ) |
const |
Appends self to name
.
Encodes our hash table from uint32_t vector to uint8_t vector We create a uin8_t vector 12 times the size of uint32_t vector We put the first count in first 4 cells, keySum in next 4, and keyCheck in next 4. Repeat for all the other cells of the hash table. Then we append this uint8_t vector to the name.
Definition at line 138 of file iblt.cpp.
◆ erase()
void psync::detail::IBLT::erase |
( |
uint32_t |
key | ) |
|
◆ getHashTable()
const std::vector<HashTableEntry>& psync::detail::IBLT::getHashTable |
( |
| ) |
const |
|
inline |
◆ initialize()
void psync::detail::IBLT::initialize |
( |
const ndn::name::Component & |
ibltName | ) |
|
Populate the hash table using the vector representation of IBLT.
- Parameters
-
ibltName | the Component representation of IBLT |
- Exceptions
-
Error | if size of values is not compatible with this IBF |
Definition at line 90 of file iblt.cpp.
◆ insert()
void psync::detail::IBLT::insert |
( |
uint32_t |
key | ) |
|
◆ operator==
bool operator== |
( |
const IBLT & |
lhs, |
|
|
const IBLT & |
rhs |
|
) |
| |
|
friend |