pub mod conn; pub mod proto; use self::conn::CaConn; use err::Error; use futures_util::StreamExt; use log::*; use tokio::net::TcpStream; pub struct CaConnectOpts { pub source: String, pub channels: Vec, } pub async fn ca_connect_3(opts: CaConnectOpts) -> Result<(), Error> { debug!("ca_connect_3"); let tcp = TcpStream::connect(&opts.source).await?; let mut conn = CaConn::new(tcp); for c in opts.channels { conn.channel_add(c); } while let Some(item) = conn.next().await { match item { Ok(k) => { info!("CaConn gives item: {k:?}"); } Err(e) => { error!("CaConn gives error: {e:?}"); break; } } } Ok(()) }