Skip to main content

EndpointAddr

Struct EndpointAddr 

Source
pub struct EndpointAddr {
    pub host: String,
    pub port: Option<u16>,
    pub path: String,
    pub peer: Option<Fingerprint>,
}
Expand description

A parsed weida://[fingerprint@]host[:port]/path address.

Fields§

§host: String

Host as written: a DNS name or an IP literal without brackets.

§port: Option<u16>

Port as written, or None when the URL names none.

None is not a missing value: it is the statement that the authority names a set of equivalent nodes, resolved through DNS and dialled on DEFAULT_PORT (decisions/0020 §4.2). A written port means exactly one endpoint and no discovery.

§path: String

Opaque endpoint identifier, starting with /.

§peer: Option<Fingerprint>

The peer’s public-key fingerprint, when the address names one.

When present it is the only identity the dialling side accepts for this address, whatever else it trusts.

Implementations§

Source§

impl EndpointAddr

Source

pub fn parse(input: &str) -> Result<EndpointAddr, Error>

Parses a weida://[fingerprint@]host[:port]/path URL.

The port is optional, and its absence is meaningful rather than lenient: it selects discovery, where the host names a set of nodes and DEFAULT_PORT is the port (0020 §4.2). IPv6 literals are bracketed, the fingerprint is in Fingerprint’s text form, and the path is validated by validate_endpoint_path.

Trait Implementations§

Source§

impl Clone for EndpointAddr

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EndpointAddr

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Display for EndpointAddr

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Eq for EndpointAddr

Source§

impl PartialEq for EndpointAddr

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for EndpointAddr

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<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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.