caretta-sync/lazy-supplements/src/cli/server.rs

26 lines
765 B
Rust
Raw Normal View History

2025-06-02 12:02:04 +09:00
use clap::Args;
use futures::StreamExt;
use libp2p::{noise, ping, swarm::{NetworkBehaviour, SwarmEvent}, tcp, yamux, Swarm};
use tracing_subscriber::EnvFilter;
use crate::error::Error;
use super::ConfigArgs;
#[derive(Args, Debug)]
pub struct ServerArgs {
#[command(flatten)]
config: ConfigArgs,
}
impl ServerArgs {
pub async fn start_server(self) -> Result<(), Error>{
let mut swarm = self.config.try_into_node_config().await?.try_into_swarm().await?;
loop{
match swarm.select_next_some().await {
SwarmEvent::NewListenAddr { address, .. } => println!("Listening on {address:?}"),
SwarmEvent::Behaviour(event) => println!("{event:?}"),
_ => {}
}
}
}
}