macula_routing_protocol (macula v0.20.5)
View SourceDHT protocol message encoding/decoding. Maps DHT operations to/from message format.
Summary
Functions
Decode FIND_NODE request.
Decode FIND_NODE reply.
Decode FIND_VALUE request.
Decode FIND_VALUE reply.
Decode node info.
Decode STORE request.
Encode FIND_NODE request.
Encode FIND_NODE reply.
Encode FIND_VALUE request.
Encode FIND_VALUE reply.
Encode node info (for transmission).
Encode STORE request.
Check if message is FIND_NODE.
Check if message is FIND_VALUE.
Check if message is STORE.
Types
-type message() :: map().
Functions
Decode FIND_NODE request.
-spec decode_find_node_reply(message()) -> {ok, [macula_routing_bucket:node_info()]} | {error, invalid_message}.
Decode FIND_NODE reply.
Decode FIND_VALUE request.
-spec decode_find_value_reply(message()) -> {ok, {value, term()} | {nodes, [macula_routing_bucket:node_info()]}} | {error, invalid_message}.
Decode FIND_VALUE reply.
-spec decode_node_info(map()) -> {ok, macula_routing_bucket:node_info()} | {error, invalid_node_info}.
Decode node info.
Decode STORE request.
Encode FIND_NODE request.
-spec encode_find_node_reply([macula_routing_bucket:node_info()]) -> message().
Encode FIND_NODE reply.
Encode FIND_VALUE request.
-spec encode_find_value_reply({value, term()} | {nodes, [macula_routing_bucket:node_info()]}) -> message().
Encode FIND_VALUE reply.
-spec encode_node_info(macula_routing_bucket:node_info()) -> map().
Encode node info (for transmission).
Encode STORE request.
Check if message is FIND_NODE.
Check if message is FIND_VALUE.
Check if message is STORE.