pub fn pipe_bridges(&mut self, b_in: &str, b_out: &str) -> anyhow::Result<()> {
        info!("setting communication {} -> {}", b_in, b_out);
        let rx: Receiver = self.take_bridge_rx(b_in)?;
        let tx: Sender = self.take_bridge_tx(b_out)?;
        let (b_in, b_out) = (b_in.to_owned(), b_out.to_owned());
        let handle = tokio::task::spawn_blocking(move || loop {
            let buf: Message = rx
                .recv()
                .unwrap_or_else(|err| todo!("receiving message from {} failed: {}", b_in, err));
            tx.send(buf)
                .unwrap_or_else(|err| todo!("sending message to {} failed: {}", b_out, err));
        });
        self.pipes.push(handle);
        Ok(())
    }
/// Build a pipe from modules b_in to b_out
/// Spawns pipe handler in a tokio blocking task thread
/// - b_in name of incoming bridge from Self::bridges
/// - b_out name of outgoing bridge from Self::bridges
Build a pipe from modules b_in to b_out
Spawns pipe handler in a tokio blocking task thread
b_in name of incoming bridge from Self::bridges
b_out name of outgoing bridge from Self::bridges
Build a pipe from modules b_in to b_out Spawns pipe handler in a tokio blocking task thread b_in name of incoming bridge from Self :: bridges b_out name of outgoing bridge from Self :: bridges
pub fn pipe_bridges(&mut self, b_in: &str, b_out: &str) -> anyhow::Result<()> {
        info!("setting communication {} -> {}", b_in, b_out);
        let rx: Receiver = self.take_bridge_rx(b_in)?;
        let tx: Sender = self.take_bridge_tx(b_out)?;
        let (b_in, b_out) = (b_in.to_owned(), b_out.to_owned());
        let handle = tokio::task::spawn_blocking(move || loop {
            let buf: Message = rx
                .recv()
                .unwrap_or_else(|err| todo!("receiving message from {} failed: {}", b_in, err));
            tx.send(buf)
                .unwrap_or_else(|err| todo!("sending message to {} failed: {}", b_out, err));
        });
        self.pipes.push(handle);
        Ok(())
    }
pub fn pipe_bridges ( & mut self , b_in : & str , b_out : & str ) -> anyhow :: Result < ( ) > { info ! ( " " b_in b_out ) ; let rx : Receiver = self . take_bridge_rx ( b_in ) ? ; let tx : Sender = self . take_bridge_tx ( b_out ) ? ; let ( b_in , b_out ) = ( b_in . to_owned ( ) , b_out . to_owned ( ) ) ; let handle = tokio :: task :: spawn_blocking ( move | | loop { let buf : Message = rx . recv ( ) . unwrap_or_else ( | err | todo ! ( " " b_in err ) ) ; tx . send ( buf ) . unwrap_or_else ( | err | todo ! ( " " b_out err ) ) ; } ) ; self . pipes . push ( handle ) ; Ok ( ( ) ) }
Build a pipe from modules b_in to b_out
Spawns pipe handler in a tokio blocking task thread
 b_in name of incoming bridge from Self::bridges
 b_out name of outgoing bridge from Self::bridges
Build a pipe from modules b_in to b_out Spawns pipe handler in a tokio blocking task thread b_in name of incoming bridge from Self :: bridges b_out name of outgoing bridge from Self :: bridges
&mut self
b_in
&str
b_out
&str
&mut self
b_in
&str
b_out
&str