Files
daqingest/netfetch/src/ca.rs
2022-04-29 16:16:20 +02:00

35 lines
777 B
Rust

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<String>,
}
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(())
}