pub struct LocalUdpSocket { /* private fields */ }
Available on crate feature
host-vnet
only.Trait Implementations§
Source§impl Debug for LocalUdpSocket
impl Debug for LocalUdpSocket
Source§impl VirtualConnectionlessSocket for LocalUdpSocket
impl VirtualConnectionlessSocket for LocalUdpSocket
Source§fn try_send_to(
&mut self,
data: &[u8],
addr: SocketAddr,
) -> Result<usize, NetworkError>
fn try_send_to( &mut self, data: &[u8], addr: SocketAddr, ) -> Result<usize, NetworkError>
Sends out a datagram or stream of bytes on this socket
to a specific address
Source§fn try_recv_from(
&mut self,
buf: &mut [MaybeUninit<u8>],
) -> Result<(usize, SocketAddr), NetworkError>
fn try_recv_from( &mut self, buf: &mut [MaybeUninit<u8>], ) -> Result<(usize, SocketAddr), NetworkError>
Recv a packet from the socket
Source§impl VirtualIoSource for LocalUdpSocket
impl VirtualIoSource for LocalUdpSocket
Source§fn remove_handler(&mut self)
fn remove_handler(&mut self)
Removes a previously registered waker using a token
Source§fn poll_read_ready(
&mut self,
cx: &mut Context<'_>,
) -> Poll<Result<usize, NetworkError>>
fn poll_read_ready( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<usize, NetworkError>>
Polls the source to see if there is data waiting
Source§fn poll_write_ready(
&mut self,
cx: &mut Context<'_>,
) -> Poll<Result<usize, NetworkError>>
fn poll_write_ready( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<usize, NetworkError>>
Polls the source to see if data can be sent
Source§impl VirtualSocket for LocalUdpSocket
impl VirtualSocket for LocalUdpSocket
Source§fn set_ttl(&mut self, ttl: u32) -> Result<(), NetworkError>
fn set_ttl(&mut self, ttl: u32) -> Result<(), NetworkError>
Sets how many network hops the packets are permitted for new connections
Source§fn ttl(&self) -> Result<u32, NetworkError>
fn ttl(&self) -> Result<u32, NetworkError>
Returns the maximum number of network hops before packets are dropped
Source§fn addr_local(&self) -> Result<SocketAddr, NetworkError>
fn addr_local(&self) -> Result<SocketAddr, NetworkError>
Returns the local address for this socket
Source§fn status(&self) -> Result<SocketStatus, NetworkError>
fn status(&self) -> Result<SocketStatus, NetworkError>
Returns the status/state of the socket
Source§fn set_handler(
&mut self,
handler: Box<dyn InterestHandler + Sync + Send>,
) -> Result<(), NetworkError>
fn set_handler( &mut self, handler: Box<dyn InterestHandler + Sync + Send>, ) -> Result<(), NetworkError>
Registers a waker for when this connection is ready to receive
more data. Uses a stack machine which means more than one waker
can be registered
Source§impl VirtualUdpSocket for LocalUdpSocket
impl VirtualUdpSocket for LocalUdpSocket
Source§fn set_broadcast(&mut self, broadcast: bool) -> Result<(), NetworkError>
fn set_broadcast(&mut self, broadcast: bool) -> Result<(), NetworkError>
Sets a flag that means that the UDP socket is able
to receive and process broadcast packets.
Source§fn broadcast(&self) -> Result<bool, NetworkError>
fn broadcast(&self) -> Result<bool, NetworkError>
Indicates if the SO_BROADCAST flag is set which means
that the UDP socket will receive and process broadcast
packets
Source§fn set_multicast_loop_v4(&mut self, val: bool) -> Result<(), NetworkError>
fn set_multicast_loop_v4(&mut self, val: bool) -> Result<(), NetworkError>
Sets a flag that indicates if multicast packets that
this socket is a member of will be looped back to
the sending socket. This applies to IPv4 addresses
Source§fn multicast_loop_v4(&self) -> Result<bool, NetworkError>
fn multicast_loop_v4(&self) -> Result<bool, NetworkError>
Gets a flag that indicates if multicast packets that
this socket is a member of will be looped back to
the sending socket. This applies to IPv4 addresses
Source§fn set_multicast_loop_v6(&mut self, val: bool) -> Result<(), NetworkError>
fn set_multicast_loop_v6(&mut self, val: bool) -> Result<(), NetworkError>
Sets a flag that indicates if multicast packets that
this socket is a member of will be looped back to
the sending socket. This applies to IPv6 addresses
Source§fn multicast_loop_v6(&self) -> Result<bool, NetworkError>
fn multicast_loop_v6(&self) -> Result<bool, NetworkError>
Gets a flag that indicates if multicast packets that
this socket is a member of will be looped back to
the sending socket. This applies to IPv6 addresses
Source§fn set_multicast_ttl_v4(&mut self, ttl: u32) -> Result<(), NetworkError>
fn set_multicast_ttl_v4(&mut self, ttl: u32) -> Result<(), NetworkError>
Sets the TTL for IPv4 multicast packets which is the
number of network hops before the packet is dropped
Source§fn multicast_ttl_v4(&self) -> Result<u32, NetworkError>
fn multicast_ttl_v4(&self) -> Result<u32, NetworkError>
Gets the TTL for IPv4 multicast packets which is the
number of network hops before the packet is dropped
Source§fn join_multicast_v4(
&mut self,
multiaddr: Ipv4Addr,
iface: Ipv4Addr,
) -> Result<(), NetworkError>
fn join_multicast_v4( &mut self, multiaddr: Ipv4Addr, iface: Ipv4Addr, ) -> Result<(), NetworkError>
Tells this interface that it will subscribe to a
particular multicast address. This applies to IPv4 addresses
Source§fn leave_multicast_v4(
&mut self,
multiaddr: Ipv4Addr,
iface: Ipv4Addr,
) -> Result<(), NetworkError>
fn leave_multicast_v4( &mut self, multiaddr: Ipv4Addr, iface: Ipv4Addr, ) -> Result<(), NetworkError>
Tells this interface that it will unsubscribe to a
particular multicast address. This applies to IPv4 addresses
Source§fn join_multicast_v6(
&mut self,
multiaddr: Ipv6Addr,
iface: u32,
) -> Result<(), NetworkError>
fn join_multicast_v6( &mut self, multiaddr: Ipv6Addr, iface: u32, ) -> Result<(), NetworkError>
Tells this interface that it will subscribe to a
particular multicast address. This applies to IPv6 addresses
Source§fn leave_multicast_v6(
&mut self,
multiaddr: Ipv6Addr,
iface: u32,
) -> Result<(), NetworkError>
fn leave_multicast_v6( &mut self, multiaddr: Ipv6Addr, iface: u32, ) -> Result<(), NetworkError>
Tells this interface that it will unsubscribe to a
particular multicast address. This applies to IPv6 addresses
Source§fn addr_peer(&self) -> Result<Option<SocketAddr>, NetworkError>
fn addr_peer(&self) -> Result<Option<SocketAddr>, NetworkError>
Returns the remote address of this UDP socket if it has been
connected to a specific target destination address
Auto Trait Implementations§
impl !Freeze for LocalUdpSocket
impl RefUnwindSafe for LocalUdpSocket
impl Send for LocalUdpSocket
impl Sync for LocalUdpSocket
impl Unpin for LocalUdpSocket
impl UnwindSafe for LocalUdpSocket
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
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> ⓘ
Converts
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> ⓘ
Converts
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref