Struct wasmer_wasix::LocalUdpSocket
pub struct LocalUdpSocket {
socket: UdpSocket,
addr: SocketAddr,
selector: Arc<Selector>,
handler_guard: HandlerGuardState,
backlog: VecDeque<(BytesMut, SocketAddr)>,
}
Fields§
§socket: UdpSocket
§addr: SocketAddr
§selector: Arc<Selector>
§handler_guard: HandlerGuardState
§backlog: VecDeque<(BytesMut, SocketAddr)>
Trait Implementations§
§impl Debug for LocalUdpSocket
impl Debug for LocalUdpSocket
§impl VirtualConnectionlessSocket for LocalUdpSocket
impl VirtualConnectionlessSocket for LocalUdpSocket
§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
§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
§impl VirtualIoSource for LocalUdpSocket
impl VirtualIoSource for LocalUdpSocket
§fn remove_handler(&mut self)
fn remove_handler(&mut self)
Removes a previously registered waker using a token
§impl VirtualSocket for LocalUdpSocket
impl VirtualSocket for LocalUdpSocket
§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
§fn ttl(&self) -> Result<u32, NetworkError>
fn ttl(&self) -> Result<u32, NetworkError>
Returns the maximum number of network hops before packets are dropped
§fn addr_local(&self) -> Result<SocketAddr, NetworkError>
fn addr_local(&self) -> Result<SocketAddr, NetworkError>
Returns the local address for this socket
§impl VirtualUdpSocket for LocalUdpSocket
impl VirtualUdpSocket for LocalUdpSocket
§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.
§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
§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
§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
§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
§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
§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
§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
§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
§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
§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
§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
§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§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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 more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§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.
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Pointee for T
impl<T> Pointee for T
§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>
§impl<T> Upcastable for T
impl<T> Upcastable for T
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref
§fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
upcast boxed dyn