diff --git a/embassy/demos/common/common.rs b/embassy/demos/common/server.rs similarity index 95% rename from embassy/demos/common/common.rs rename to embassy/demos/common/server.rs index a74f2128f6889bcc1a22c2646a4242739bd0794a..3b4628a4a00a679eaaa0563b4a6eb74e75679cf0 100644 --- a/embassy/demos/common/common.rs +++ b/embassy/demos/common/server.rs @@ -54,7 +54,7 @@ pub async fn listener<D: Device>(stack: &'static Stack<D>, config: &SSHConfig) - info!("Listening on TCP:22..."); if let Err(e) = socket.accept(22).await { - warn!("accept error: {:?}", e); + warn!("accept error"); continue; } @@ -122,7 +122,7 @@ impl<'a> ServBehaviour for DemoServer<'a> { #[derive(Default)] struct DemoShell { - notify: Signal<CriticalSectionRawMutex, u32>, + notify: Signal<NoopRawMutex, u32>, } impl DemoShell { @@ -156,19 +156,21 @@ impl DemoShell { async fn session(socket: &mut TcpSocket<'_>, config: &SSHConfig) -> sunset::Result<()> { let shell = DemoShell::default(); + let app = DemoServer::new(&shell, config)?; + let app = Mutex::<NoopRawMutex, _>::new(app); + let app = &app as &Mutex::<NoopRawMutex, dyn ServBehaviour>; let mut ssh_rxbuf = [0; 2000]; let mut ssh_txbuf = [0; 2000]; let serv = SSHServer::new(&mut ssh_rxbuf, &mut ssh_txbuf)?; let serv = &serv; - let app = Mutex::<NoopRawMutex, _>::new(app); - let session = shell.run(serv); - let app = &app as &Mutex::<NoopRawMutex, dyn ServBehaviour>; - let run = serv.run(socket, app); + let (mut rsock, mut wsock) = socket.split(); + + let run = serv.run(&mut rsock, &mut wsock, app); join(run, session).await; diff --git a/embassy/demos/picow/src/main.rs b/embassy/demos/picow/src/main.rs index 8db7777f1c8161d271b1bbf7efd585b97387e5a1..331afe7175e34a6421caabba4a92a82578c3a719 100644 --- a/embassy/demos/picow/src/main.rs +++ b/embassy/demos/picow/src/main.rs @@ -18,7 +18,7 @@ use rand::RngCore; use sunset::*; mod wifi; -#[path = "../../common/common.rs"] +#[path = "../../common/server.rs"] mod demo_common; use demo_common::SSHConfig; diff --git a/embassy/demos/std/src/main.rs b/embassy/demos/std/src/main.rs index 5246a6b96dd25b85e9aaa45cd7df43d2fc94c374..7cfafcd5ac5129c86a01cd3078383183b270c488 100644 --- a/embassy/demos/std/src/main.rs +++ b/embassy/demos/std/src/main.rs @@ -15,7 +15,7 @@ use rand::RngCore; use crate::tuntap::TunTapDevice; mod tuntap; -#[path = "../../common/common.rs"] +#[path = "../../common/server.rs"] mod demo_common; use demo_common::SSHConfig;