Struct tari_comms_dht::DhtDiscoveryRequester [−][src]
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]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
Auto Trait Implementations
impl !RefUnwindSafe for DhtDiscoveryRequester
[src]
impl Send for DhtDiscoveryRequester
[src]
impl Sync for DhtDiscoveryRequester
[src]
impl Unpin for DhtDiscoveryRequester
[src]
impl !UnwindSafe for DhtDiscoveryRequester
[src]
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> Cast<U> for T where
U: FromCast<T>,
U: FromCast<T>,
pub fn cast(self) -> U
impl<'a, T> DefaultFeatures<'a> for T where
T: 'a + Clone + Send + Sync,
T: 'a + Clone + Send + Sync,
pub fn clone_boxed(&self) -> Box<dyn DefaultFeatures<'a> + 'a, Global>
pub fn self_address_mut(&mut self) -> *mut ()
impl<T> From<T> for T
[src]
impl<T> FromBits<T> for T
pub fn from_bits(t: T) -> T
impl<T> FromCast<T> for T
pub fn from_cast(t: T) -> T
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
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>,
pub fn into_bits(self) -> U
impl<T> IntoSql for T
[src]
pub fn into_sql<T>(self) -> Self::Expression where
Self: AsExpression<T>,
[src]
Self: AsExpression<T>,
pub 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,
pub fn clone_boxed(&self) -> Box<dyn NonSyncFeatures<'a> + 'a, Global>
pub fn self_address_mut(&mut self) -> *mut ()
impl<T> SafeBorrow<T> for T where
T: ?Sized,
T: ?Sized,
pub 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.
pub fn to_owned(&self) -> T
[src]
pub 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.
pub 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.
pub 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>,