Trait xstack_kad::KademliaRpc
source · pub trait KademliaRpc:
AsyncWrite
+ AsyncRead
+ Unpin {
// Provided methods
fn kad_find_node<K>(
self,
key: K,
max_recv_len: usize,
) -> impl Future<Output = Result<Vec<PeerInfo>>>
where Self: Sized,
K: AsRef<[u8]> { ... }
fn kad_put_value<K, V>(
self,
key: K,
value: V,
max_recv_len: usize,
) -> impl Future<Output = Result<()>>
where Self: Sized,
K: AsRef<[u8]>,
V: AsRef<[u8]> { ... }
fn kad_get_value<K>(
self,
key: K,
max_recv_len: usize,
) -> impl Future<Output = Result<GetValue>>
where Self: Sized,
K: AsRef<[u8]> { ... }
fn kad_add_provider<K>(
self,
key: K,
peer_info: &PeerInfo,
) -> impl Future<Output = Result<()>>
where Self: Sized,
K: AsRef<[u8]> { ... }
fn kad_get_providers<K>(
self,
key: K,
max_recv_len: usize,
) -> impl Future<Output = Result<GetProviders>>
where Self: Sized,
K: AsRef<[u8]> { ... }
}Expand description
An extension trait that add Kademlia RPC calls to AsyncWrite + AsyncRead
Provided Methods§
sourcefn kad_find_node<K>(
self,
key: K,
max_recv_len: usize,
) -> impl Future<Output = Result<Vec<PeerInfo>>>
fn kad_find_node<K>( self, key: K, max_recv_len: usize, ) -> impl Future<Output = Result<Vec<PeerInfo>>>
Send a kad FIND_NODE request and wait for response.
sourcefn kad_put_value<K, V>(
self,
key: K,
value: V,
max_recv_len: usize,
) -> impl Future<Output = Result<()>>
fn kad_put_value<K, V>( self, key: K, value: V, max_recv_len: usize, ) -> impl Future<Output = Result<()>>
Send a kad PUT_VALUE request and wait for response.
sourcefn kad_get_value<K>(
self,
key: K,
max_recv_len: usize,
) -> impl Future<Output = Result<GetValue>>
fn kad_get_value<K>( self, key: K, max_recv_len: usize, ) -> impl Future<Output = Result<GetValue>>
Send a kad Get_VALUE request and wait for response.
sourcefn kad_add_provider<K>(
self,
key: K,
peer_info: &PeerInfo,
) -> impl Future<Output = Result<()>>
fn kad_add_provider<K>( self, key: K, peer_info: &PeerInfo, ) -> impl Future<Output = Result<()>>
Send a kad ADD_PROVIDER message.
sourcefn kad_get_providers<K>(
self,
key: K,
max_recv_len: usize,
) -> impl Future<Output = Result<GetProviders>>
fn kad_get_providers<K>( self, key: K, max_recv_len: usize, ) -> impl Future<Output = Result<GetProviders>>
Send a kad GEt_PROVIDERS request and wait for response.