macula_routing_server (macula v0.7.29)
View SourceGenServer managing Kademlia DHT routing table and operations. Integrates all routing components: table, DHT algorithms, protocol.
Summary
Functions
Add node to routing table.
Find k closest nodes to target.
Find value in DHT using iterative lookup. Returns {ok, Value} if found, {nodes, Nodes} if not found.
Get value from local storage.
Get routing table snapshot.
Handle incoming DHT message and return reply.
Get number of nodes in routing table.
Start routing server with registered name macula_routing_server.
Store value locally.
Functions
-spec add_node(pid(), macula_routing_bucket:node_info()) -> ok.
Add node to routing table.
-spec find_closest(pid(), binary(), pos_integer()) -> [macula_routing_bucket:node_info()].
Find k closest nodes to target.
-spec find_value(pid(), binary(), pos_integer()) -> {ok, term()} | {nodes, [macula_routing_bucket:node_info()]} | {error, term()}.
Find value in DHT using iterative lookup. Returns {ok, Value} if found, {nodes, Nodes} if not found.
Get value from local storage.
-spec get_routing_table(pid()) -> macula_routing_table:routing_table().
Get routing table snapshot.
Handle incoming DHT message and return reply.
-spec size(pid()) -> non_neg_integer().
Get number of nodes in routing table.
Start routing server with registered name macula_routing_server.
Store value locally.