From 84c6d1c47e1e3d8c10a925c2f2d22b557db1d6de Mon Sep 17 00:00:00 2001
From: Matt Johnston <matt@ucc.asn.au>
Date: Sat, 30 Dec 2023 23:17:18 +0800
Subject: [PATCH] Use SunsetMutex more places

---
 async/examples/sunsetc.rs            | 5 ++---
 embassy/demos/common/src/takepipe.rs | 6 +++---
 embassy/src/client.rs                | 4 +---
 embassy/src/embassy_sunset.rs        | 2 +-
 4 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/async/examples/sunsetc.rs b/async/examples/sunsetc.rs
index 698c86b..94e218e 100644
--- a/async/examples/sunsetc.rs
+++ b/async/examples/sunsetc.rs
@@ -5,7 +5,6 @@ use {
 };
 use anyhow::{Context, Result, anyhow, bail};
 use argh::FromArgs;
-use embassy_sync::mutex::Mutex;
 
 use tokio::net::TcpStream;
 use tokio::task::spawn_local;
@@ -13,7 +12,7 @@ use tokio::task::spawn_local;
 use std::io::Read;
 
 use sunset::*;
-use sunset_embassy::{SSHClient, SunsetRawMutex};
+use sunset_embassy::{SSHClient, SunsetMutex};
 
 use sunset_async::{CmdlineClient, AgentClient};
 
@@ -112,7 +111,7 @@ async fn run(args: Args) -> Result<()> {
 
         let (hooks, mut cmdrun) = app.split();
 
-        let hooks = Mutex::<SunsetRawMutex, _>::new(hooks);
+        let hooks = SunsetMutex::new(hooks);
 
         // SSH connection future
         let ssh_fut = async {
diff --git a/embassy/demos/common/src/takepipe.rs b/embassy/demos/common/src/takepipe.rs
index 995c896..2abc743 100644
--- a/embassy/demos/common/src/takepipe.rs
+++ b/embassy/demos/common/src/takepipe.rs
@@ -16,7 +16,7 @@ use embassy_sync::{pipe, mutex::Mutex, signal::Signal};
 use embassy_sync::pipe::Pipe;
 use embassy_futures::select::{select, Either};
 
-use sunset_embassy::SunsetRawMutex;
+use sunset_embassy::{SunsetRawMutex, SunsetMutex};
 
 pub const READ_SIZE: usize = 4000;
 pub const WRITE_SIZE: usize = 64;
@@ -68,11 +68,11 @@ impl Default for TakePipeStorage {
 
 pub struct TakePipe<'a> {
     // fanout
-    shared_read: Mutex<SunsetRawMutex, (u64, pipe::Reader<'a, SunsetRawMutex, READ_SIZE>)>,
+    shared_read: SunsetMutex<(u64, pipe::Reader<'a, SunsetRawMutex, READ_SIZE>)>,
     writer: pipe::Writer<'a, SunsetRawMutex, READ_SIZE>,
     // fanin
     reader: pipe::Reader<'a, SunsetRawMutex, WRITE_SIZE>,
-    shared_write: Mutex<SunsetRawMutex, (u64, pipe::Writer<'a, SunsetRawMutex, WRITE_SIZE>)>,
+    shared_write: SunsetMutex<(u64, pipe::Writer<'a, SunsetRawMutex, WRITE_SIZE>)>,
     wake: Signal<SunsetRawMutex, ()>,
 }
 
diff --git a/embassy/src/client.rs b/embassy/src/client.rs
index 91e85d1..f472c8c 100644
--- a/embassy/src/client.rs
+++ b/embassy/src/client.rs
@@ -1,5 +1,3 @@
-use embassy_sync::mutex::Mutex;
-use embassy_sync::blocking_mutex::raw::RawMutex;
 use embedded_io_async::{Read, Write};
 
 use sunset::*;
@@ -19,7 +17,7 @@ use embassy_channel::{ChanInOut, ChanIn};
 /// may open remote channels with [`open_session_pty()`][Self::open_session_pty] etc.
 ///
 /// This is async executor agnostic, though requires the `CliBehaviour` instance
-/// to be wrapped in an Embassy [`Mutex`].
+/// to be wrapped in a [`SunsetMutex`].
 pub struct SSHClient<'a> {
     sunset: EmbassySunset<'a>,
 }
diff --git a/embassy/src/embassy_sunset.rs b/embassy/src/embassy_sunset.rs
index 51e55cf..47ddd96 100644
--- a/embassy/src/embassy_sunset.rs
+++ b/embassy/src/embassy_sunset.rs
@@ -78,7 +78,7 @@ impl<'a> Inner<'a> {
 ///
 /// Applications use `embassy_sunset::{Client,Server}`.
 pub(crate) struct EmbassySunset<'a> {
-    inner: Mutex<SunsetRawMutex, Inner<'a>>,
+    inner: SunsetMutex<Inner<'a>>,
 
     progress_notify: Signal<SunsetRawMutex, ()>,
 
-- 
GitLab