ProxyV2Addr

Enum ProxyV2Addr 

Source
pub enum ProxyV2Addr {
    Ip {
        src: SocketAddr,
        dst: SocketAddr,
    },
    Unix {
        src: SocketAddr,
        dst: SocketAddr,
    },
}
Expand description

An address re-representation. Can be initialized using TryFrom implementations.

TryFrom(“ip:port”, “ip:port”) TryFrom(IpAddr, u16, IpAddr, u16) TryFrom(net::SocketAddr, net::SocketAddr) TryFrom(SocketAddr, SocketAddr)

The type will be determined automatically.

Variants§

§

Ip

AF_INET, AF_INET6

Fields

§

Unix

AF_UNIX

Fields

Implementations§

Source§

impl ProxyV2Addr

Source

pub fn get_len(&self) -> u16

Returns the length in bytes for the current address. It returns full size, but not the actual ocupied length (for unix addresses).

Source

pub fn as_addr_family(&self) -> ProxyV2AddrType

Returns the address type.

Source

pub fn read( addr_fam: ProxyV2AddrType, cur: &mut Cursor<&[u8]>, ) -> HaProxRes<Option<Self>>

Reads the address section of the HaProxy. The address family should be obtained from the same packet before. The cur must point to the beginning of the address block.

§Returns

The Result is returned. The Option::None will be returned only if the addr_fam is ProxyV2AddrType::AfUnspec.

Source

pub fn write(&self, cur: &mut Cursor<Vec<u8>>) -> HaProxRes<()>

Writes the content of the current instance to packet in format of the HaProxy address. The cur Cursor should point to the beginning of the address block.

Trait Implementations§

Source§

impl Clone for ProxyV2Addr

Source§

fn clone(&self) -> ProxyV2Addr

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ProxyV2Addr

Source§

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

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

impl Display for ProxyV2Addr

Source§

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

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

impl PartialEq for ProxyV2Addr

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl TryFrom<(&str, &str)> for ProxyV2Addr

Attempts to convert tuple (source, destination) from str into ProxyV2Addr.

Source§

fn try_from(value: (&str, &str)) -> Result<Self, Self::Error>

§Arguments
  • value.0 - source address str

  • value.1 - destination address str

Source§

type Error = HaProxErr

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

impl TryFrom<(IpAddr, u16, IpAddr, u16)> for ProxyV2Addr

Source§

fn try_from(value: (IpAddr, u16, IpAddr, u16)) -> Result<Self, Self::Error>

§Arguments
  • value.0 - source IP address IpAddr

  • value.1 - source port u16

  • value.2 - destination IP address IpAddr

  • value.3 - destination port u16

Source§

type Error = HaProxErr

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

impl TryFrom<(SocketAddr, SocketAddr)> for ProxyV2Addr

Source§

fn try_from(value: (SocketAddr, SocketAddr)) -> Result<Self, Self::Error>

§Arguments
Source§

type Error = HaProxErr

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

impl TryFrom<(SocketAddr, SocketAddr)> for ProxyV2Addr

Attempts to convert from tuple (source, dst) from net::SocketAddr into ProxyV2Addr.

Source§

fn try_from(value: (SocketAddr, SocketAddr)) -> Result<Self, Self::Error>

§Arguments
Source§

type Error = HaProxErr

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

impl Eq for ProxyV2Addr

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