Struct embassy_net::raw::RawSocket
source · pub struct RawSocket<'a> { /* private fields */ }
Expand description
An Raw socket.
Implementations§
source§impl<'a> RawSocket<'a>
impl<'a> RawSocket<'a>
sourcepub fn new<D: Driver>(
stack: &'a Stack<D>,
ip_version: IpVersion,
ip_protocol: IpProtocol,
rx_meta: &'a mut [PacketMetadata],
rx_buffer: &'a mut [u8],
tx_meta: &'a mut [PacketMetadata],
tx_buffer: &'a mut [u8]
) -> Self
pub fn new<D: Driver>( stack: &'a Stack<D>, ip_version: IpVersion, ip_protocol: IpProtocol, rx_meta: &'a mut [PacketMetadata], rx_buffer: &'a mut [u8], tx_meta: &'a mut [PacketMetadata], tx_buffer: &'a mut [u8] ) -> Self
Create a new Raw socket using the provided stack and buffers.
sourcepub async fn recv(&self, buf: &mut [u8]) -> Result<usize, RecvError>
pub async fn recv(&self, buf: &mut [u8]) -> Result<usize, RecvError>
Receive a datagram.
This method will wait until a datagram is received.
sourcepub fn poll_recv(
&self,
buf: &mut [u8],
cx: &mut Context<'_>
) -> Poll<Result<usize, RecvError>>
pub fn poll_recv( &self, buf: &mut [u8], cx: &mut Context<'_> ) -> Poll<Result<usize, RecvError>>
Receive a datagram.
When no datagram is available, this method will return Poll::Pending
and
register the current task to be notified when a datagram is received.
sourcepub async fn send(&self, buf: &[u8])
pub async fn send(&self, buf: &[u8])
Send a datagram.
This method will wait until the datagram has been sent.`
sourcepub fn poll_send(&self, buf: &[u8], cx: &mut Context<'_>) -> Poll<()>
pub fn poll_send(&self, buf: &[u8], cx: &mut Context<'_>) -> Poll<()>
Send a datagram.
When the datagram has been sent, this method will return Poll::Ready(Ok())
.
When the socket’s send buffer is full, this method will return Poll::Pending
and register the current task to be notified when the buffer has space available.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for RawSocket<'a>
impl<'a> !RefUnwindSafe for RawSocket<'a>
impl<'a> !Send for RawSocket<'a>
impl<'a> !Sync for RawSocket<'a>
impl<'a> Unpin for RawSocket<'a>
impl<'a> !UnwindSafe for RawSocket<'a>
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
Mutably borrows from an owned value. Read more