Struct SharedUdpSocket

Source
pub struct SharedUdpSocket { /* private fields */ }
Expand description

A UDP socket that can easily be shared amongst a bunch of different futures.

Implementations§

Source§

impl SharedUdpSocket

Source

pub fn share(socket: UdpSocket) -> (SharedUdpSocket, IncomingEndpoints)

Create a new SharedUdpSocket from a UdpSocket.

Source

pub fn endpoint(&self, addr: SocketAddr) -> UdpEndpoint

Creates a UdpEndpoint object which receives all packets that arrive from the given address. UdpEndpoint can also be used as a Sink to send packets. If another UdpEndpoint with the given address already exists then it will no longer receive packets since the newly created UdpEndpoint will take precedence.

Source

pub fn try_endpoint(&self, addr: SocketAddr) -> Option<UdpEndpoint>

Creates a UdpEndpoint object which receives all packets that arrive from the given address. UdpEndpoint can also be used as a Sink to send packets. Unlike the endpoint method, this method will not replace any pre-existing UdpEndpoint associated with the given address and will instead return None if one exists.

Source

pub fn steal(self) -> Option<UdpSocket>

Steals the udp socket (if it hasn’t already been stolen) causing all other SharedUdpSocket and UdpEndpoint streams to end.

Source

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

Trait Implementations§

Source§

impl Drop for SharedUdpSocket

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

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.