iroh_net::netcheck

Struct Client

Source
pub struct Client { /* private fields */ }
👎Deprecated: This crate has been renamed from ‘iroh-net’ to ‘iroh’, please use the new crate
Expand description

Client to run netchecks.

Creating this creates a netcheck actor which runs in the background. Most of the time it is idle unless Client::get_report is called, which is the main interface.

The Client struct can be cloned and results multiple handles to the running actor. If all Clients are dropped the actor stops running.

While running the netcheck actor expects to be passed all received stun packets using Addr::receive_stun_packet.

Implementations§

Source§

impl Client

Source

pub fn new( port_mapper: Option<Client>, dns_resolver: DnsResolver, ) -> Result<Self>

👎Deprecated: This crate has been renamed from ‘iroh-net’ to ‘iroh’, please use the new crate

Creates a new netcheck client.

This starts a connected actor in the background. Once the client is dropped it will stop running.

Source

pub async fn get_report( &mut self, dm: RelayMap, stun_conn4: Option<Arc<UdpSocket>>, stun_conn6: Option<Arc<UdpSocket>>, ) -> Result<Arc<Report>>

👎Deprecated: This crate has been renamed from ‘iroh-net’ to ‘iroh’, please use the new crate

Runs a netcheck, returning the report.

It may not be called concurrently with itself, &mut self takes care of that.

The stun_conn4 and stun_conn6 endpoints are bound UDP sockets to use to send out STUN packets. This function will not read from the sockets, as they may be receiving other traffic as well, normally they are the sockets carrying the real traffic. Thus all stun packets received on those sockets should be passed to Addr::receive_stun_packet in order for this function to receive the stun responses and function correctly.

If these are not passed in this will bind sockets for STUN itself, though results may not be as reliable.

Source

pub async fn get_report_channel( &mut self, dm: RelayMap, stun_conn4: Option<Arc<UdpSocket>>, stun_conn6: Option<Arc<UdpSocket>>, ) -> Result<Receiver<Result<Arc<Report>>>>

👎Deprecated: This crate has been renamed from ‘iroh-net’ to ‘iroh’, please use the new crate

Get report with channel

Trait Implementations§

Source§

impl Debug for Client

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T