pub struct UdpSocket { /* private fields */ }Expand description
A UDP socket.
Implementations§
Source§impl UdpSocket
impl UdpSocket
Sourcepub fn send_to_blocking(
&self,
endpoint: SocketAddr,
data: &[u8],
) -> Result<(), Error>
pub fn send_to_blocking( &self, endpoint: SocketAddr, data: &[u8], ) -> Result<(), Error>
Send a packet to the given endpoint with the provided data.
Sourcepub async fn send_to(
&self,
endpoint: SocketAddr,
data: &[u8],
) -> Result<(), Error>
pub async fn send_to( &self, endpoint: SocketAddr, data: &[u8], ) -> Result<(), Error>
Send a packet to the given endpoint with the provided data.
Sourcepub fn send_to_from_blocking(
&self,
endpoint: SocketAddr,
local: IpAddr,
data: &[u8],
) -> Result<(), Error>
pub fn send_to_from_blocking( &self, endpoint: SocketAddr, local: IpAddr, data: &[u8], ) -> Result<(), Error>
Send a packet to endpoint, spoofing the source address as local.
Used by a forwarder so reply datagrams appear to originate from the original destination the peer expected.
Sourcepub async fn send_to_from(
&self,
endpoint: SocketAddr,
local: IpAddr,
data: &[u8],
) -> Result<(), Error>
pub async fn send_to_from( &self, endpoint: SocketAddr, local: IpAddr, data: &[u8], ) -> Result<(), Error>
Send a packet to endpoint, spoofing the source address as local.
Used by a forwarder so reply datagrams appear to originate from the original destination the peer expected.
Sourcepub fn recv_from_blocking(
&self,
buf: &mut [u8],
) -> Result<(SocketAddr, usize), Error>
pub fn recv_from_blocking( &self, buf: &mut [u8], ) -> Result<(SocketAddr, usize), Error>
Receive a packet into the given buffer.
Sourcepub fn recv_from_bytes_blocking(&self) -> Result<(SocketAddr, Bytes), Error>
pub fn recv_from_bytes_blocking(&self) -> Result<(SocketAddr, Bytes), Error>
Receive a packet bytes buffer.
Sourcepub async fn recv_from(
&self,
buf: &mut [u8],
) -> Result<(SocketAddr, usize), Error>
pub async fn recv_from( &self, buf: &mut [u8], ) -> Result<(SocketAddr, usize), Error>
Receive a packet into the given buffer.
Sourcepub async fn recv_from_bytes(&self) -> Result<(SocketAddr, Bytes), Error>
pub async fn recv_from_bytes(&self) -> Result<(SocketAddr, Bytes), Error>
Asynchronously receive a packet bytes buffer.
Sourcepub fn recv_from_with_dst_bytes_blocking(
&self,
) -> Result<(SocketAddr, SocketAddr, Bytes), Error>
pub fn recv_from_with_dst_bytes_blocking( &self, ) -> Result<(SocketAddr, SocketAddr, Bytes), Error>
Receive a packet, also reporting the local (destination) address it was sent to.
Under any-IP acceptance the local address is the original packet destination – a
forwarder needs it to know which real socket to relay through. Returns
(remote, local, payload).
Sourcepub async fn recv_from_with_dst_bytes(
&self,
) -> Result<(SocketAddr, SocketAddr, Bytes), Error>
pub async fn recv_from_with_dst_bytes( &self, ) -> Result<(SocketAddr, SocketAddr, Bytes), Error>
Receive a packet, also reporting the local (destination) address it was sent to.
Under any-IP acceptance the local address is the original packet destination – a
forwarder needs it to know which real socket to relay through. Returns
(remote, local, payload).
Sourcepub const fn local_addr(&self) -> SocketAddr
pub const fn local_addr(&self) -> SocketAddr
Report the local endpoint to which this socket is bound.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for UdpSocket
impl RefUnwindSafe for UdpSocket
impl Send for UdpSocket
impl Sync for UdpSocket
impl Unpin for UdpSocket
impl UnsafeUnpin for UdpSocket
impl UnwindSafe for UdpSocket
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<A, T> DynMessage<A> for T
impl<A, T> DynMessage<A> for T
Source§fn handle_dyn<'a>(
self: Box<T>,
state: &'a mut A,
actor_ref: ActorRef<A>,
tx: Option<Sender<Result<Box<dyn Any + Send>, SendError<Box<dyn Any + Send>, Box<dyn Any + Send>>>>>,
stop: &'a mut bool,
) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn ReplyError>>> + Send + 'a>>
fn handle_dyn<'a>( self: Box<T>, state: &'a mut A, actor_ref: ActorRef<A>, tx: Option<Sender<Result<Box<dyn Any + Send>, SendError<Box<dyn Any + Send>, Box<dyn Any + Send>>>>>, stop: &'a mut bool, ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn ReplyError>>> + Send + 'a>>
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more