var searchIndex = {}; searchIndex["dht"] = {"doc":"Distributed Hash Table.","items":[[3,"Node","dht","Structure representing a node in system.",null,null],[12,"address","","Network address of the node.",0,null],[12,"id","","ID of the node.",0,null],[3,"KNodeTable","","Kademlia node table.",null,null],[11,"fmt","","",0,null],[11,"clone","","",0,null],[11,"encode","","",0,null],[11,"decode","","",0,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"new","","Create a new node table.",1,{"inputs":[{"name":"biguint"}],"output":{"name":"knodetable"}}],[11,"random_id","","",1,null],[11,"update","","",1,null],[11,"find","","",1,null],[11,"pop_oldest","","",1,null],[0,"protocol","","Generic protocol bits for implementing custom protocols.",null,null],[3,"Request","dht::protocol","Request structure.",null,null],[12,"caller","","",2,null],[12,"request_id","","",2,null],[12,"payload","","",2,null],[3,"Response","","Response structure.",null,null],[12,"request","","",3,null],[12,"responder","","",3,null],[12,"payload","","",3,null],[4,"RequestPayload","","Payload in the request.",null,null],[13,"Ping","","",4,null],[13,"FindNode","","",4,null],[13,"FindValue","","",4,null],[13,"Store","","",4,null],[4,"ResponsePayload","","Payload in the response.",null,null],[13,"NodesFound","","",5,null],[13,"ValueFound","","",5,null],[13,"NoResult","","",5,null],[8,"Protocol","","Trait for a protocol implementation.",null,null],[16,"Value","","Value type.",6,null],[10,"parse_request","","Parse request from binary data.",6,null],[10,"format_response","","Format response to binary data.",6,null],[0,"service","dht","Protocol-agnostic service implementation",null,null],[3,"Handler","dht::service","Handler - implementation of DHT requests.",null,null],[3,"Service","","Protocol agnostic DHT service.",null,null],[4,"FindResult","","Result of the find operations - either data or nodes closest to it.",null,null],[13,"Value","","",7,null],[13,"ClosestNodes","","",7,null],[13,"Nothing","","",7,null],[11,"fmt","","",7,null],[11,"new","","Create a service with a random ID.",8,{"inputs":[{"name":"tnodetable"}],"output":{"name":"service"}}],[11,"new_with_id","","Create a service with a given ID.",8,{"inputs":[{"name":"tnodetable"},{"name":"biguint"}],"output":{"name":"service"}}],[11,"node_table","","Get an immutable reference to the node table.",8,null],[11,"node_table_mut","","Get a mutable reference to the node table.",8,null],[11,"node_id","","Get the current node ID.",8,null],[11,"stored_data","","Get an immutable reference to the data.",8,null],[11,"stored_data_mut","","Get an immutable reference to the data.",8,null],[11,"clean_needed","","Check if some buckets are full already.",8,null],[11,"clean_up","","Try to clean up the table by checking the oldest records.",8,null],[11,"on_ping","","Process the ping request.",9,null],[11,"on_find_node","","Process the find request.",9,null],[11,"on_find_value","","Find a value or the closes nodes.",9,null],[8,"GenericNodeTable","dht","Trait representing table with known nodes.",null,null],[10,"random_id","","Generate suitable random ID.",10,null],[10,"update","","Store or update node in the table.",10,null],[10,"find","","Find given number of node, closest to given ID.",10,null],[10,"pop_oldest","","Pop expired or the oldest nodes from table for inspection.",10,null]],"paths":[[3,"Node"],[3,"KNodeTable"],[3,"Request"],[3,"Response"],[4,"RequestPayload"],[4,"ResponsePayload"],[8,"Protocol"],[4,"FindResult"],[3,"Service"],[3,"Handler"],[8,"GenericNodeTable"]]}; initSearch(searchIndex);