Actions
Feature #5288
openDeadNonceList with hashtable buckets
Status:
New
Priority:
Normal
Assignee:
-
Category:
Tables
Target version:
-
Start date:
Due date:
% Done:
0%
Estimated time:
12.00 h
Tags:
Description
Lessons Learned from Fixing the Dead Nonce List in NFD technical report proposed a new data structure design.
For a DNL with expected longevity L,
- The DNL consists of M buckets, where each bucket is a hashtable-like data structure.
- To insert an entry, the entry is inserted into the bucket at index M-1.
- To lookup an entry, the entry is searched among all M buckets. If it is found in any of the buckets, it exists in the DNL. Otherwise, it does not exist in the DNL.
- Every L/M duration, the bucket at index 0 is discarded, the remaining buckets are shifted down (bucket i+1 becomes bucket i), and an empty bucket is created at index M-1.
This issue is to implement a baseline version of this data structure design.
Each bucket shall use a regular hashtable data structure std::unorderd_set
; exploration of non-deterministic data structures such as Bloom filters is out of scope.
L and M parameters shall be configurable at runtime i.e. from nfd.conf
; in case of parameter change during runtime configuration reload, it's OK to fully clear the DNL.
No data to display
Actions