diff --git a/src/modules/shelly.rs b/src/modules/shelly.rs index 3da55b6..ec23895 100644 --- a/src/modules/shelly.rs +++ b/src/modules/shelly.rs @@ -49,9 +49,8 @@ impl Shelly { } -#[async_trait] impl Actuator for Shelly { - async fn subscribe(&mut self, signal: StatusSignal) { + fn subscribe(&mut self, signal: StatusSignal) { self.signal.replace(signal); if let Some(waker) = self.waker.take() { waker.wake(); diff --git a/src/registries/actuators.rs b/src/registries/actuators.rs index 936d503..15d64fa 100644 --- a/src/registries/actuators.rs +++ b/src/registries/actuators.rs @@ -38,9 +38,8 @@ impl Actuators { pub type StatusSignal = Pin + Send + Sync>>; -#[async_trait] pub trait Actuator: Stream> { - async fn subscribe(&mut self, signal: StatusSignal); + fn subscribe(&mut self, signal: StatusSignal); } // This is merely a proof that Actuator *can* be implemented on a finite, known type. Yay for type @@ -49,9 +48,9 @@ struct Dummy { log: Logger, signal: Option } -#[async_trait] + impl Actuator for Dummy { - async fn subscribe(&mut self, signal: StatusSignal) { + fn subscribe(&mut self, signal: StatusSignal) { self.signal.replace(signal); } }