mithril_aggregator/dependency_injection/builder/support/
signal.rs

1use tokio::sync::watch;
2
3use crate::dependency_injection::{DependenciesBuilder, Result};
4use crate::get_dependency;
5
6impl DependenciesBuilder {
7    /// Builds a stop signal channel
8    pub async fn build_stop_signal_channel(
9        &mut self,
10    ) -> Result<(watch::Sender<()>, watch::Receiver<()>)> {
11        Ok(watch::channel(()))
12    }
13
14    /// Get the stop signal channel
15    pub async fn get_stop_signal_channel(
16        &mut self,
17    ) -> Result<(watch::Sender<()>, watch::Receiver<()>)> {
18        get_dependency!(self.stop_signal_channel)
19    }
20}