sig
type event = EVENT_VALUES of Unix.sockaddr list | EVENT_SEARCH_DONE
val init : Unix.file_descr -> Unix.file_descr -> id:string -> unit
val insert_node : id:string -> Unix.sockaddr -> unit
val ping_node : Unix.sockaddr -> unit
val periodic :
(bytes * int * Unix.sockaddr) option ->
(Dht.event -> id:string -> unit) -> float
val search :
id:string ->
?port:int ->
?af:Unix.socket_domain -> (Dht.event -> id:string -> unit) -> unit
val get_nodes : int -> int -> Unix.sockaddr list
type nodes = { good : int; dubious : int; cached : int; incoming : int; }
val nodes : Unix.socket_domain -> Dht.nodes
end