This commit is contained in:
Roy Buitenhuis 2023-07-12 11:32:02 +02:00
parent b81c14f442
commit f192f44018

View file

@ -3,7 +3,7 @@
use core::cell::RefCell;
use core::future::poll_fn;
use core::mem;
use core::task::{Poll, Context};
use core::task::{Context, Poll};
use embassy_net_driver::Driver;
use smoltcp::iface::{Interface, SocketHandle};
@ -106,13 +106,13 @@ impl<'a> UdpSocket<'a> {
}
/// 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.
///
///
/// When a datagram is received, this method will return `Poll::Ready` with the
/// number of bytes received and the remote endpoint.
pub fn poll_recv_from(&self, buf: &mut[u8], cx: &mut Context<'_>) -> Poll<Result<(usize, IpEndpoint), Error>> {
pub fn poll_recv_from(&self, buf: &mut [u8], cx: &mut Context<'_>) -> Poll<Result<(usize, IpEndpoint), Error>> {
self.with_mut(|s, _| match s.recv_slice(buf) {
Ok((n, meta)) => Poll::Ready(Ok((n, meta.endpoint))),
// No data ready
@ -124,9 +124,9 @@ impl<'a> UdpSocket<'a> {
}
/// Send a datagram to the specified remote endpoint.
///
///
/// This method will wait until the datagram has been sent.
///
///
/// When the remote endpoint is not reachable, this method will return `Err(Error::NoRoute)`
pub async fn send_to<T>(&self, buf: &[u8], remote_endpoint: T) -> Result<(), Error>
where
@ -137,12 +137,12 @@ impl<'a> UdpSocket<'a> {
}
/// Send a datagram to the specified remote endpoint.
///
///
/// 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.
///
///
/// When the remote endpoint is not reachable, this method will return `Poll::Ready(Err(Error::NoRoute))`.
pub fn poll_send_to<T>(&self, buf: &[u8], remote_endpoint: T, cx: &mut Context<'_>) -> Poll<Result<(), Error>>
where