[−][src]Struct tari_comms_dht::DhtDiscoveryRequester
Implementations
impl DhtDiscoveryRequester
[src]
pub fn new(
sender: Sender<DhtDiscoveryRequest>,
discovery_timeout: Duration
) -> Self
[src]
sender: Sender<DhtDiscoveryRequest>,
discovery_timeout: Duration
) -> Self
pub async fn discover_peer<'_>(
&'_ mut self,
dest_public_key: Box<CommsPublicKey>,
destination: NodeDestination
) -> Result<Peer, DhtDiscoveryError>
[src]
&'_ mut self,
dest_public_key: Box<CommsPublicKey>,
destination: NodeDestination
) -> Result<Peer, DhtDiscoveryError>
Initiate a peer discovery
Arguments
dest_public_key
- The public key of he recipient used to create a shared ECDH key which in turn is used to encrypt the discovery messagedestination
- TheNodeDestination
to use in the DhtHeader when sending a discovery message.Unknown
destination will maintain complete privacy, the trade off is that discovery needs to propagate the entire network to reach the destination and so may take longerNodeId
Instruct propagation nodes to direct the message to peers closer to the given NodeId. TheNodeId
may be directed to a region close to the real destination (somewhat private) or directed at a particular node (not private)PublicKey
if any node on the network knows this public key, the message will be directed to that node. This sacrifices privacy for more efficient discovery in terms of network bandwidth and may result in quicker discovery times.
pub async fn notify_discovery_response_received<'_>(
&'_ mut self,
response: DiscoveryResponseMessage
) -> Result<(), DhtDiscoveryError>
[src]
&'_ mut self,
response: DiscoveryResponseMessage
) -> Result<(), DhtDiscoveryError>
Trait Implementations
impl Clone for DhtDiscoveryRequester
[src]
fn clone(&self) -> DhtDiscoveryRequester
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Auto Trait Implementations
impl !RefUnwindSafe for DhtDiscoveryRequester
impl Send for DhtDiscoveryRequester
impl Sync for DhtDiscoveryRequester
impl Unpin for DhtDiscoveryRequester
impl !UnwindSafe for DhtDiscoveryRequester
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> Cast<U> for T where
U: FromCast<T>,
U: FromCast<T>,
fn cast(self) -> U
impl<'a, T> DefaultFeatures<'a> for T where
T: 'a + Clone + Send + Sync,
T: 'a + Clone + Send + Sync,
fn clone_boxed(&self) -> Box<dyn DefaultFeatures<'a> + 'a>
fn self_address_mut(&mut self) -> *mut ()
impl<T> From<T> for T
[src]
impl<T> FromBits<T> for T
fn from_bits(t: T) -> T
impl<T> FromCast<T> for T
fn from_cast(t: T) -> T
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> IntoBits<U> for T where
U: FromBits<T>,
U: FromBits<T>,
fn into_bits(self) -> U
impl<T> IntoSql for T
[src]
fn into_sql<T>(self) -> Self::Expression where
Self: AsExpression<T>,
[src]
Self: AsExpression<T>,
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
&'a Self: AsExpression<T>,
[src]
&'a Self: AsExpression<T>,
impl<'a, T> NonSyncFeatures<'a> for T where
T: 'a + Clone,
T: 'a + Clone,
fn clone_boxed(&self) -> Box<dyn NonSyncFeatures<'a> + 'a>
fn self_address_mut(&mut self) -> *mut ()
impl<T> SafeBorrow<T> for T where
T: ?Sized,
T: ?Sized,
fn borrow_replacement(ptr: &T) -> &T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,