Skip to content

Commit 31e0794

Browse files
committed
Simplify some std examples.
1 parent a991cd6 commit 31e0794

File tree

2 files changed

+3
-66
lines changed

2 files changed

+3
-66
lines changed

examples/std/src/bin/net_ppp.rs

Lines changed: 1 addition & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ async fn net_task(mut runner: embassy_net::Runner<'static, embassy_net_ppp::Devi
4545
async fn ppp_task(stack: Stack<'static>, mut runner: Runner<'static>, port: SerialPort) -> ! {
4646
let port = Async::new(port).unwrap();
4747
let port = BufReader::new(port);
48-
let port = adapter::FromFutures::new(port);
48+
let port = embedded_io_adapters::futures_03::FromFutures::new(port);
4949

5050
let config = embassy_net_ppp::Config {
5151
username: b"myuser",
@@ -163,53 +163,3 @@ fn main() {
163163
spawner.spawn(main_task(spawner)).unwrap();
164164
});
165165
}
166-
167-
mod adapter {
168-
use core::future::poll_fn;
169-
use core::pin::Pin;
170-
171-
use futures::AsyncBufReadExt;
172-
173-
/// Adapter from `futures::io` traits.
174-
#[derive(Clone)]
175-
pub struct FromFutures<T: ?Sized> {
176-
inner: T,
177-
}
178-
179-
impl<T> FromFutures<T> {
180-
/// Create a new adapter.
181-
pub fn new(inner: T) -> Self {
182-
Self { inner }
183-
}
184-
}
185-
186-
impl<T: ?Sized> embedded_io_async::ErrorType for FromFutures<T> {
187-
type Error = std::io::Error;
188-
}
189-
190-
impl<T: futures::io::AsyncRead + Unpin + ?Sized> embedded_io_async::Read for FromFutures<T> {
191-
async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error> {
192-
poll_fn(|cx| Pin::new(&mut self.inner).poll_read(cx, buf)).await
193-
}
194-
}
195-
196-
impl<T: futures::io::AsyncBufRead + Unpin + ?Sized> embedded_io_async::BufRead for FromFutures<T> {
197-
async fn fill_buf(&mut self) -> Result<&[u8], Self::Error> {
198-
self.inner.fill_buf().await
199-
}
200-
201-
fn consume(&mut self, amt: usize) {
202-
Pin::new(&mut self.inner).consume(amt)
203-
}
204-
}
205-
206-
impl<T: futures::io::AsyncWrite + Unpin + ?Sized> embedded_io_async::Write for FromFutures<T> {
207-
async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error> {
208-
poll_fn(|cx| Pin::new(&mut self.inner).poll_write(cx, buf)).await
209-
}
210-
211-
async fn flush(&mut self) -> Result<(), Self::Error> {
212-
poll_fn(|cx| Pin::new(&mut self.inner).poll_flush(cx)).await
213-
}
214-
}
215-
}

examples/std/src/bin/tcp_accept.rs

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use core::fmt::Write as _;
2-
31
use clap::Parser;
42
use embassy_executor::{Executor, Spawner};
53
use embassy_net::tcp::TcpSocket;
@@ -28,16 +26,6 @@ async fn net_task(mut runner: embassy_net::Runner<'static, TunTapDevice>) -> ! {
2826
runner.run().await
2927
}
3028

31-
#[derive(Default)]
32-
struct StrWrite(pub heapless::Vec<u8, 30>);
33-
34-
impl core::fmt::Write for StrWrite {
35-
fn write_str(&mut self, s: &str) -> Result<(), core::fmt::Error> {
36-
self.0.extend_from_slice(s.as_bytes()).unwrap();
37-
Ok(())
38-
}
39-
}
40-
4129
#[embassy_executor::task]
4230
async fn main_task(spawner: Spawner) {
4331
let opts: Opts = Opts::parse();
@@ -85,9 +73,8 @@ async fn main_task(spawner: Spawner) {
8573

8674
// Write some quick output
8775
for i in 1..=5 {
88-
let mut w = StrWrite::default();
89-
write!(w, "{}! ", i).unwrap();
90-
let r = socket.write_all(&w.0).await;
76+
let s = format!("{}! ", i);
77+
let r = socket.write_all(s.as_bytes()).await;
9178
if let Err(e) = r {
9279
warn!("write error: {:?}", e);
9380
return;

0 commit comments

Comments
 (0)