Enum Destination

Source
pub enum Destination {
    Ipv4Addr(Ipv4Addr),
    DomainName(Cow<'static, str>),
    Ipv6Addr(Ipv6Addr),
}
Expand description

Represents a destination address of a service, to which a user wants to connect through a socks5 proxy. It is a good solution, but not the fastest, so it will be rewritten in the future in preference to a dispatch mechanism

Variants§

§

Ipv4Addr(Ipv4Addr)

Represents an IPv4 address

§

DomainName(Cow<'static, str>)

Represents a domain name

§

Ipv6Addr(Ipv6Addr)

Represents an IPv6 address

Implementations§

Source§

impl Destination

Source

pub fn len_as_buffer(&self) -> usize

Returns the length in bytes of the destination, represented as a buffer

Trait Implementations§

Source§

impl FromStr for Destination

Source§

fn from_str(s: &str) -> Result<Destination, Self::Err>

Parses a socks5 destination. The parsing algorithm is simpler than you can think of: At first, it tries to parse an IPv4 from the string. If succeed, returns an IPv4 destination representation, If not, it tries to parse an IPv6 from the string. Then, if succeed, returns an IPv6 destination representation. Finally, if not, it tries to parse a domain name from the string and returns a domain name destination if succeed, unless Err

Source§

type Err = ()

The associated error which can be returned from parsing.

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> 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, 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.