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
impl Destination
Sourcepub fn len_as_buffer(&self) -> usize
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
impl FromStr for Destination
Source§fn from_str(s: &str) -> Result<Destination, Self::Err>
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