diff options
author | dimitri staessens <[email protected]> | 2017-01-20 12:59:17 +0100 |
---|---|---|
committer | dimitri staessens <[email protected]> | 2017-01-21 09:55:10 +0100 |
commit | 9c92dd66d5e7fab3a3e243abbad9a20b29891fee (patch) | |
tree | 819ed39b4cb7b1dd2fb82f62f516bb9fd24e8432 /src/lib/irm.c | |
parent | 82d947a8321737108f545a25f91d7d50d10e831d (diff) | |
download | ouroboros-9c92dd66d5e7fab3a3e243abbad9a20b29891fee.tar.gz ouroboros-9c92dd66d5e7fab3a3e243abbad9a20b29891fee.zip |
lib: Add new version of Resource Information Base
The new RIB is implemented as a tree with doubly linked nodes (parents
keep a link to each child, each child keeps a link to its parent). An
index is kept in a btree using CRC32 hashes of the path name in the
RIB. Nodes keep an SHA3-256 hash value that is unique for the entire
subtree. This allows quick checks to see if two RIB subtrees are in
sync. The event system for the RIB is based on the event system for
flows (fqueue), but implemented completely in dynamic memory using
linked lists. An initial test is performed for the RIB. This PR does
not modify existing code to use the new RIB.
Diffstat (limited to 'src/lib/irm.c')
0 files changed, 0 insertions, 0 deletions