pub struct UdpAssociate<S> { /* private fields */ }
Expand description

Socks5 connection type UdpAssociate

Implementations§

source§

impl<S: Default> UdpAssociate<S>

source

pub fn local_addr(&self) -> Result<SocketAddr>

Returns the local address that this stream is bound to.

source

pub fn peer_addr(&self) -> Result<SocketAddr>

Returns the remote address that this stream is connected to.

source

pub async fn shutdown(&mut self) -> Result<()>

Shutdown the TCP stream.

source§

impl UdpAssociate<NeedReply>

source

pub async fn reply( self, reply: Reply, addr: Address ) -> Result<UdpAssociate<Ready>>

Reply the associated UDP socket address to the client.

source§

impl UdpAssociate<Ready>

source

pub async fn wait_until_closed(&mut self) -> Result<()>

Wait until the client closes this TCP connection.

Socks5 protocol defines that when the client closes the TCP connection used to send the associate command, the server should release the associated UDP socket.

Trait Implementations§

source§

impl<S: Debug> Debug for UdpAssociate<S>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<S> RefUnwindSafe for UdpAssociate<S>where S: RefUnwindSafe,

§

impl<S> Send for UdpAssociate<S>where S: Send,

§

impl<S> Sync for UdpAssociate<S>where S: Sync,

§

impl<S> Unpin for UdpAssociate<S>where S: Unpin,

§

impl<S> UnwindSafe for UdpAssociate<S>where S: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.