diff --git a/crates/common/batcher/src/lib.rs b/crates/common/batcher/src/lib.rs index a7709650341..ffca9797c28 100644 --- a/crates/common/batcher/src/lib.rs +++ b/crates/common/batcher/src/lib.rs @@ -67,7 +67,7 @@ impl BatchingActorBuilder { } } -impl MessageSink, NoConfig> for BatchingActorBuilder { +impl MessageSink> for BatchingActorBuilder { fn get_sender(&self) -> DynSender> { self.message_box.get_sender() } diff --git a/crates/core/tedge_actors/src/builders.rs b/crates/core/tedge_actors/src/builders.rs index b82f57856c2..a923f69da93 100644 --- a/crates/core/tedge_actors/src/builders.rs +++ b/crates/core/tedge_actors/src/builders.rs @@ -97,15 +97,14 @@ pub struct NoConfig; /// /// An actor whose builder is a `MessageSink` can be connected to any other actor /// whose builder is a `MessageSource` so that the sink can receive messages from that source. -/// -/// A sink might be interested only in a subset of the messages emitted by the source. -/// For that purpose each source implementation defines a `Config` type parameter, -/// and the sink has to provide the configuration value specific to its needs. -pub trait MessageSink { +pub trait MessageSink { /// Return the sender that can be used by peers to send messages to this actor fn get_sender(&self) -> DynSender; /// Add a source of messages to the actor under construction + /// + /// A sink might be interested only in a subset of the messages emitted by the source. + /// This subset is defined by the config parameter. fn add_input(&mut self, config: C, source: &mut impl MessageSource) where N: Message, @@ -178,13 +177,13 @@ pub trait MessageSink { /// The [Builder] of an [Actor](crate::Actor) must implement this trait /// for every message type that actor can send to its peers. /// -/// To receive messages from a `MessageSource`, the peer must be a `MessageSink`. +/// To receive messages from a `MessageSource`, the peer must be a `MessageSink`. pub trait MessageSource { /// The message will be sent to the peer using the provided `sender` fn register_peer(&mut self, config: Config, sender: DynSender); /// Connect a peer actor that will consume the message produced by this actor - fn add_sink(&mut self, config: Config, peer: &impl MessageSink) { + fn add_sink(&mut self, config: Config, peer: &impl MessageSink) { self.register_peer(config, peer.get_sender()); } } @@ -295,7 +294,7 @@ pub trait RuntimeRequestSink { /// # self.messages.register_peer(config, sender) /// # } /// # } -/// # impl MessageSink for MyActorBuilder { +/// # impl MessageSink for MyActorBuilder { /// # fn get_sender(&self) -> DynSender { /// # self.messages.get_sender() /// # } @@ -378,7 +377,7 @@ impl SimpleMessageBoxBuilder { pub fn set_connection( &mut self, config: Config, - service: &mut (impl MessageSink + MessageSource), + service: &mut (impl MessageSink + MessageSource), ) { service.register_peer(config, self.input_sender.sender_clone()); self.register_peer(NoConfig, service.get_sender()); @@ -391,7 +390,7 @@ impl SimpleMessageBoxBuilder { pub fn with_connection( mut self, config: Config, - service: &mut (impl MessageSink + MessageSource), + service: &mut (impl MessageSink + MessageSource), ) -> Self { self.set_connection(config, service); self @@ -406,7 +405,7 @@ impl MessageSource for SimpleMessageBoxBuilder< } /// A `SimpleMessageBoxBuilder` is a [MessageSink] of `Input` messages with no specific config. -impl MessageSink for SimpleMessageBoxBuilder { +impl MessageSink for SimpleMessageBoxBuilder { fn get_sender(&self) -> DynSender { self.input_sender.sender_clone() } diff --git a/crates/core/tedge_actors/src/converter.rs b/crates/core/tedge_actors/src/converter.rs index c1a087f6f73..481a4694b10 100644 --- a/crates/core/tedge_actors/src/converter.rs +++ b/crates/core/tedge_actors/src/converter.rs @@ -204,7 +204,7 @@ impl ConvertingActor { /// /// /// Return a converting actor connected to a peer that is both a source and sink of MQTT messages /// fn new_converter( -/// mut mqtt_builder: impl MessageSource + MessageSink +/// mut mqtt_builder: impl MessageSource + MessageSink /// ) -> ConvertingActor { /// // Use a builder to connect and build the actor /// let mut converter_builder = ConvertingActor::builder( @@ -264,7 +264,7 @@ impl MessageSource for ConvertingActorBuilder } } -impl MessageSink for ConvertingActorBuilder { +impl MessageSink for ConvertingActorBuilder { fn get_sender(&self) -> DynSender { self.message_box.get_sender() } diff --git a/crates/core/tedge_actors/src/lib.rs b/crates/core/tedge_actors/src/lib.rs index 518402c857b..040a83f5ef3 100644 --- a/crates/core/tedge_actors/src/lib.rs +++ b/crates/core/tedge_actors/src/lib.rs @@ -219,8 +219,8 @@ //! } //! //! /// An actor builder also declares that it consumes messages -//! /// by implementing the `MessageSink` trait for the appropriate input and config types. -//! impl MessageSink for SomeOtherActorBuilder { +//! /// by implementing the `MessageSink` trait for the appropriate input type. +//! impl MessageSink for SomeOtherActorBuilder { //! /// Return a sender where to send the input messages. //! fn get_sender(&self) -> DynSender { //! todo!() diff --git a/crates/core/tedge_actors/src/runtime.rs b/crates/core/tedge_actors/src/runtime.rs index b55c1632d57..de7a73a940a 100644 --- a/crates/core/tedge_actors/src/runtime.rs +++ b/crates/core/tedge_actors/src/runtime.rs @@ -6,7 +6,6 @@ use crate::Builder; use crate::ChannelError; use crate::DynSender; use crate::MessageSink; -use crate::NoConfig; use crate::RuntimeError; use crate::RuntimeRequestSink; use futures::channel::mpsc; @@ -138,7 +137,7 @@ impl RuntimeHandle { } } -impl MessageSink for RuntimeHandle { +impl MessageSink for RuntimeHandle { fn get_sender(&self) -> DynSender { self.actions_sender.clone().into() } diff --git a/crates/core/tedge_actors/src/servers/builders.rs b/crates/core/tedge_actors/src/servers/builders.rs index 33a234a69c2..11e74d19e8e 100644 --- a/crates/core/tedge_actors/src/servers/builders.rs +++ b/crates/core/tedge_actors/src/servers/builders.rs @@ -9,7 +9,6 @@ use crate::DynSender; use crate::LoggingReceiver; use crate::Message; use crate::MessageSink; -use crate::NoConfig; use crate::RequestEnvelope; use crate::RuntimeError; use crate::RuntimeRequest; @@ -74,7 +73,7 @@ impl RuntimeRequestSink for ServerMessageBoxBuilder< } } -impl MessageSink, NoConfig> +impl MessageSink> for ServerMessageBoxBuilder { fn get_sender(&self) -> DynSender> { @@ -184,7 +183,7 @@ impl Builder> for ServerActorBuilder } } -impl MessageSink, NoConfig> +impl MessageSink> for ServerActorBuilder { fn get_sender(&self) -> DynSender> { diff --git a/crates/core/tedge_actors/src/servers/message_boxes.rs b/crates/core/tedge_actors/src/servers/message_boxes.rs index 509df15e00b..0eafa8001ca 100644 --- a/crates/core/tedge_actors/src/servers/message_boxes.rs +++ b/crates/core/tedge_actors/src/servers/message_boxes.rs @@ -5,7 +5,6 @@ use crate::LoggingReceiver; use crate::Message; use crate::MessageReceiver; use crate::MessageSink; -use crate::NoConfig; use crate::RequestEnvelope; use crate::RuntimeRequest; use crate::Sender; @@ -111,9 +110,7 @@ impl Clone for ClientMessageBox ClientMessageBox { /// Create a [ClientMessageBox] connected to a given [Server] - pub fn new( - server: &mut impl MessageSink, NoConfig>, - ) -> Self { + pub fn new(server: &mut impl MessageSink>) -> Self { ClientMessageBox { sender: server.get_sender(), } diff --git a/crates/core/tedge_actors/src/servers/mod.rs b/crates/core/tedge_actors/src/servers/mod.rs index eee463f04fe..a8f2bf4418a 100644 --- a/crates/core/tedge_actors/src/servers/mod.rs +++ b/crates/core/tedge_actors/src/servers/mod.rs @@ -149,20 +149,20 @@ pub type DynRequestSender = DynSender: - MessageSink, NoConfig> + MessageSink> { /// Connect a request message box to the server box under construction fn add_requester(&mut self, response_sender: DynSender) -> DynSender; fn add_client( &mut self, - client: &mut (impl MessageSource + MessageSink), + client: &mut (impl MessageSource + MessageSink), ); } impl Service for T where - T: MessageSink, NoConfig>, + T: MessageSink>, { fn add_requester(&mut self, reply_to: DynSender) -> DynSender { let request_sender = RequestSender { @@ -174,7 +174,7 @@ where fn add_client( &mut self, - client: &mut (impl MessageSource + MessageSink), + client: &mut (impl MessageSource + MessageSink), ) { let request_sender = self.add_requester(client.get_sender()); client.register_peer(NoConfig, request_sender); diff --git a/crates/core/tedge_actors/src/test_helpers.rs b/crates/core/tedge_actors/src/test_helpers.rs index 593de4c2a50..b08396490de 100644 --- a/crates/core/tedge_actors/src/test_helpers.rs +++ b/crates/core/tedge_actors/src/test_helpers.rs @@ -519,7 +519,7 @@ impl Probe { &mut self, config: C, source: &mut impl MessageSource, - sink: &mut impl MessageSink, + sink: &mut impl MessageSink, ) { self.output_forwarder = sink.get_sender(); source.register_peer(config, self.input_interceptor.clone().into()); @@ -633,7 +633,7 @@ pub trait ServiceConsumerExt { impl ServiceConsumerExt for T where T: MessageSource, - T: MessageSink, + T: MessageSink, { fn with_probe<'a>( &'a mut self, @@ -651,7 +651,7 @@ impl MessageSource for Probe } } -impl MessageSink for Probe { +impl MessageSink for Probe { fn get_sender(&self) -> DynSender { self.input_interceptor.clone().into() } @@ -794,7 +794,7 @@ impl Default for FakeServerBoxBuilder MessageSink, NoConfig> +impl MessageSink> for FakeServerBoxBuilder { fn get_sender(&self) -> DynSender> { diff --git a/crates/core/tedge_agent/src/operation_file_cache/mod.rs b/crates/core/tedge_agent/src/operation_file_cache/mod.rs index 3da7d052e3d..e7b6a3bfaa6 100644 --- a/crates/core/tedge_agent/src/operation_file_cache/mod.rs +++ b/crates/core/tedge_agent/src/operation_file_cache/mod.rs @@ -26,7 +26,6 @@ use tedge_actors::LoggingReceiver; use tedge_actors::MessageReceiver; use tedge_actors::MessageSink; use tedge_actors::MessageSource; -use tedge_actors::NoConfig; use tedge_actors::RuntimeError; use tedge_actors::RuntimeRequest; use tedge_actors::RuntimeRequestSink; @@ -291,8 +290,7 @@ impl FileCacheActorBuilder { tedge_http_host: Arc, data_dir: DataDir, downloader_actor: &mut impl Service, - mqtt_actor: &mut (impl MessageSource - + MessageSink), + mqtt_actor: &mut (impl MessageSource + MessageSink), ) -> Self { let message_box = SimpleMessageBoxBuilder::new("RestartManager", 10); @@ -323,7 +321,7 @@ impl FileCacheActorBuilder { } } -impl MessageSink for FileCacheActorBuilder { +impl MessageSink for FileCacheActorBuilder { fn get_sender(&self) -> DynSender { self.message_box.get_sender() } diff --git a/crates/core/tedge_agent/src/restart_manager/builder.rs b/crates/core/tedge_agent/src/restart_manager/builder.rs index 05d0749e583..b2a6b817b01 100644 --- a/crates/core/tedge_agent/src/restart_manager/builder.rs +++ b/crates/core/tedge_agent/src/restart_manager/builder.rs @@ -27,7 +27,7 @@ impl RestartManagerBuilder { } } -impl MessageSink for RestartManagerBuilder { +impl MessageSink for RestartManagerBuilder { fn get_sender(&self) -> DynSender { self.message_box.get_sender() } diff --git a/crates/core/tedge_agent/src/software_manager/builder.rs b/crates/core/tedge_agent/src/software_manager/builder.rs index f906647ce0b..5e72f01c743 100644 --- a/crates/core/tedge_agent/src/software_manager/builder.rs +++ b/crates/core/tedge_agent/src/software_manager/builder.rs @@ -27,7 +27,7 @@ impl SoftwareManagerBuilder { } } -impl MessageSink for SoftwareManagerBuilder { +impl MessageSink for SoftwareManagerBuilder { fn get_sender(&self) -> DynSender { self.message_box.get_sender() } diff --git a/crates/core/tedge_agent/src/tedge_operation_converter/builder.rs b/crates/core/tedge_agent/src/tedge_operation_converter/builder.rs index 2e7dde6f868..992329747d2 100644 --- a/crates/core/tedge_agent/src/tedge_operation_converter/builder.rs +++ b/crates/core/tedge_agent/src/tedge_operation_converter/builder.rs @@ -46,12 +46,10 @@ impl TedgeOperationConverterBuilder { pub fn new( config: OperationConfig, mut workflows: WorkflowSupervisor, - software_actor: &mut (impl MessageSink + software_actor: &mut (impl MessageSink + MessageSource), - restart_actor: &mut (impl MessageSink - + MessageSource), - mqtt_actor: &mut (impl MessageSource - + MessageSink), + restart_actor: &mut (impl MessageSink + MessageSource), + mqtt_actor: &mut (impl MessageSource + MessageSink), script_runner: &mut impl Service>, ) -> Self { let (input_sender, input_receiver) = mpsc::unbounded(); diff --git a/crates/extensions/c8y_firmware_manager/src/lib.rs b/crates/extensions/c8y_firmware_manager/src/lib.rs index 1abc83c2b0e..7001715d851 100644 --- a/crates/extensions/c8y_firmware_manager/src/lib.rs +++ b/crates/extensions/c8y_firmware_manager/src/lib.rs @@ -21,7 +21,6 @@ use tedge_actors::LinkError; use tedge_actors::LoggingReceiver; use tedge_actors::MessageSink; use tedge_actors::MessageSource; -use tedge_actors::NoConfig; use tedge_actors::RuntimeRequest; use tedge_actors::RuntimeRequestSink; use tedge_actors::Service; @@ -47,8 +46,7 @@ pub struct FirmwareManagerBuilder { impl FirmwareManagerBuilder { pub fn try_new( config: FirmwareManagerConfig, - mqtt_actor: &mut (impl MessageSource - + MessageSink), + mqtt_actor: &mut (impl MessageSource + MessageSink), jwt_actor: &mut impl Service<(), JwtResult>, downloader_actor: &mut impl Service, ) -> Result { diff --git a/crates/extensions/c8y_http_proxy/src/lib.rs b/crates/extensions/c8y_http_proxy/src/lib.rs index 09661117bbf..b744dc171cd 100644 --- a/crates/extensions/c8y_http_proxy/src/lib.rs +++ b/crates/extensions/c8y_http_proxy/src/lib.rs @@ -12,7 +12,6 @@ use tedge_actors::Builder; use tedge_actors::ClientMessageBox; use tedge_actors::DynSender; use tedge_actors::MessageSink; -use tedge_actors::NoConfig; use tedge_actors::RequestEnvelope; use tedge_actors::RuntimeRequest; use tedge_actors::RuntimeRequestSink; @@ -126,7 +125,7 @@ impl Builder for C8YHttpProxyBuilder { } } -impl MessageSink, NoConfig> for C8YHttpProxyBuilder { +impl MessageSink> for C8YHttpProxyBuilder { fn get_sender(&self) -> DynSender> { self.clients.get_sender() } diff --git a/crates/extensions/c8y_mapper_ext/src/actor.rs b/crates/extensions/c8y_mapper_ext/src/actor.rs index a36efdb799a..6db2c6cf436 100644 --- a/crates/extensions/c8y_mapper_ext/src/actor.rs +++ b/crates/extensions/c8y_mapper_ext/src/actor.rs @@ -24,7 +24,6 @@ use tedge_actors::LoggingSender; use tedge_actors::MessageReceiver; use tedge_actors::MessageSink; use tedge_actors::MessageSource; -use tedge_actors::NoConfig; use tedge_actors::RuntimeError; use tedge_actors::RuntimeRequest; use tedge_actors::RuntimeRequestSink; @@ -294,14 +293,13 @@ impl C8yMapperBuilder { #[allow(clippy::too_many_arguments)] pub fn try_new( config: C8yMapperConfig, - mqtt: &mut (impl MessageSource + MessageSink), + mqtt: &mut (impl MessageSource + MessageSink), http: &mut impl Service, timer: &mut impl Service, uploader: &mut impl Service, downloader: &mut impl Service, fs_watcher: &mut impl MessageSource, - service_monitor: &mut (impl MessageSource - + MessageSink), + service_monitor: &mut (impl MessageSource + MessageSink), ) -> Result { Self::init(&config)?; diff --git a/crates/extensions/c8y_mapper_ext/src/compatibility_adapter.rs b/crates/extensions/c8y_mapper_ext/src/compatibility_adapter.rs index 5c3d51d39ae..6678bf11ad1 100644 --- a/crates/extensions/c8y_mapper_ext/src/compatibility_adapter.rs +++ b/crates/extensions/c8y_mapper_ext/src/compatibility_adapter.rs @@ -39,7 +39,7 @@ pub struct OldAgentAdapter; impl OldAgentAdapter { pub fn builder( - mqtt: &mut (impl MessageSource + MessageSink), + mqtt: &mut (impl MessageSource + MessageSink), ) -> ConvertingActorBuilder { let mut builder = ConvertingActor::builder("OldAgentAdapter", OldAgentAdapter); builder.add_input(old_and_new_command_topics(), mqtt); diff --git a/crates/extensions/tedge_config_manager/src/lib.rs b/crates/extensions/tedge_config_manager/src/lib.rs index 6db0879d77d..8b90f01afa5 100644 --- a/crates/extensions/tedge_config_manager/src/lib.rs +++ b/crates/extensions/tedge_config_manager/src/lib.rs @@ -16,7 +16,6 @@ use tedge_actors::LoggingReceiver; use tedge_actors::LoggingSender; use tedge_actors::MessageSink; use tedge_actors::MessageSource; -use tedge_actors::NoConfig; use tedge_actors::RuntimeRequest; use tedge_actors::RuntimeRequestSink; use tedge_actors::Service; @@ -46,7 +45,7 @@ pub struct ConfigManagerBuilder { impl ConfigManagerBuilder { pub async fn try_new( config: ConfigManagerConfig, - mqtt: &mut (impl MessageSource + MessageSink), + mqtt: &mut (impl MessageSource + MessageSink), fs_notify: &mut impl MessageSource, downloader_actor: &mut impl Service, uploader_actor: &mut impl Service, diff --git a/crates/extensions/tedge_health_ext/src/lib.rs b/crates/extensions/tedge_health_ext/src/lib.rs index 3c7f98f1fcf..3eb694814c2 100644 --- a/crates/extensions/tedge_health_ext/src/lib.rs +++ b/crates/extensions/tedge_health_ext/src/lib.rs @@ -38,7 +38,7 @@ impl HealthMonitorBuilder { pub fn from_service_topic_id( service: Service, mqtt: &mut (impl MessageSource - + MessageSink + + MessageSink + AsMut), // TODO: pass it less annoying way mqtt_schema: &MqttSchema, diff --git a/crates/extensions/tedge_health_ext/src/tests.rs b/crates/extensions/tedge_health_ext/src/tests.rs index c55a269f882..021f8704e82 100644 --- a/crates/extensions/tedge_health_ext/src/tests.rs +++ b/crates/extensions/tedge_health_ext/src/tests.rs @@ -8,7 +8,6 @@ use tedge_actors::DynSender; use tedge_actors::MessageReceiver; use tedge_actors::MessageSink; use tedge_actors::MessageSource; -use tedge_actors::NoConfig; use tedge_actors::SimpleMessageBox; use tedge_actors::SimpleMessageBoxBuilder; use tedge_api::mqtt_topics::EntityTopicId; @@ -136,7 +135,7 @@ impl<'a> MessageSource for MqttActorBuilder<'a> { } } -impl<'a> MessageSink for MqttActorBuilder<'a> { +impl<'a> MessageSink for MqttActorBuilder<'a> { fn get_sender(&self) -> DynSender { self.message_box.get_sender() } diff --git a/crates/extensions/tedge_log_manager/src/lib.rs b/crates/extensions/tedge_log_manager/src/lib.rs index d3f416ae7c1..b687f2a020c 100644 --- a/crates/extensions/tedge_log_manager/src/lib.rs +++ b/crates/extensions/tedge_log_manager/src/lib.rs @@ -16,7 +16,6 @@ use tedge_actors::LinkError; use tedge_actors::LoggingSender; use tedge_actors::MessageSink; use tedge_actors::MessageSource; -use tedge_actors::NoConfig; use tedge_actors::NoMessage; use tedge_actors::RuntimeRequest; use tedge_actors::RuntimeRequestSink; @@ -43,7 +42,7 @@ pub struct LogManagerBuilder { impl LogManagerBuilder { pub async fn try_new( config: LogManagerConfig, - mqtt: &mut (impl MessageSource + MessageSink), + mqtt: &mut (impl MessageSource + MessageSink), fs_notify: &mut impl MessageSource, uploader_actor: &mut impl Service, ) -> Result { diff --git a/crates/extensions/tedge_mqtt_ext/src/lib.rs b/crates/extensions/tedge_mqtt_ext/src/lib.rs index a8ef6af9864..bbef7eb2413 100644 --- a/crates/extensions/tedge_mqtt_ext/src/lib.rs +++ b/crates/extensions/tedge_mqtt_ext/src/lib.rs @@ -17,7 +17,6 @@ use tedge_actors::LoggingSender; use tedge_actors::MessageReceiver; use tedge_actors::MessageSink; use tedge_actors::MessageSource; -use tedge_actors::NoConfig; use tedge_actors::RuntimeError; use tedge_actors::RuntimeRequest; use tedge_actors::RuntimeRequestSink; @@ -80,7 +79,7 @@ impl MessageSource for MqttActorBuilder { } } -impl MessageSink for MqttActorBuilder { +impl MessageSink for MqttActorBuilder { fn get_sender(&self) -> DynSender { self.publish_sender.clone().into() } diff --git a/crates/extensions/tedge_mqtt_ext/src/tests.rs b/crates/extensions/tedge_mqtt_ext/src/tests.rs index 81efdad21cb..62ce2a7505b 100644 --- a/crates/extensions/tedge_mqtt_ext/src/tests.rs +++ b/crates/extensions/tedge_mqtt_ext/src/tests.rs @@ -33,7 +33,7 @@ impl MqttClientBuilder { fn with_connection( self, - mqtt: &mut (impl MessageSink + MessageSource), + mqtt: &mut (impl MessageSink + MessageSource), ) -> Self { let box_builder = self .box_builder diff --git a/crates/extensions/tedge_signal_ext/src/lib.rs b/crates/extensions/tedge_signal_ext/src/lib.rs index 6d6c83f05ba..a17e76a6d28 100644 --- a/crates/extensions/tedge_signal_ext/src/lib.rs +++ b/crates/extensions/tedge_signal_ext/src/lib.rs @@ -56,7 +56,7 @@ pub struct SignalActor { } impl SignalActor { - pub fn builder(runtime: &impl MessageSink) -> SignalActorBuilder { + pub fn builder(runtime: &impl MessageSink) -> SignalActorBuilder { let mut box_builder = SimpleMessageBoxBuilder::new("Signal-Handler", 1); box_builder.add_sink(NoConfig, runtime); SignalActorBuilder { box_builder } diff --git a/crates/extensions/tedge_timer_ext/src/builder.rs b/crates/extensions/tedge_timer_ext/src/builder.rs index 232b01bf59c..80c4b51ae2f 100644 --- a/crates/extensions/tedge_timer_ext/src/builder.rs +++ b/crates/extensions/tedge_timer_ext/src/builder.rs @@ -10,7 +10,6 @@ use tedge_actors::CloneSender; use tedge_actors::DynSender; use tedge_actors::Message; use tedge_actors::MessageSink; -use tedge_actors::NoConfig; use tedge_actors::RequestEnvelope; use tedge_actors::RuntimeRequest; use tedge_actors::RuntimeRequestSink; @@ -48,9 +47,7 @@ impl RuntimeRequestSink for TimerActorBuilder { } } -impl MessageSink, Timeout>, NoConfig> - for TimerActorBuilder -{ +impl MessageSink, Timeout>> for TimerActorBuilder { fn get_sender(&self) -> DynSender, Timeout>> { let request_sender = self.box_builder.get_sender(); Box::new(SetTimeoutSender { diff --git a/crates/extensions/tedge_timer_ext/src/tests.rs b/crates/extensions/tedge_timer_ext/src/tests.rs index 25c166ef647..45a2e60a0f0 100644 --- a/crates/extensions/tedge_timer_ext/src/tests.rs +++ b/crates/extensions/tedge_timer_ext/src/tests.rs @@ -146,7 +146,7 @@ async fn should_process_all_pending_timers_on_end_of_inputs() { } async fn spawn_timer_actor( - peer: &mut (impl MessageSource, NoConfig> + MessageSink, NoConfig>), + peer: &mut (impl MessageSource, NoConfig> + MessageSink>), ) -> ( JoinHandle>, DynSender,