use std::time::Duration;
use pipeworks_core::{bus::Bus, reg::BusTypeTrace};
use pipeworks_net::{
PeersDiscovered, TcpListenerBind, TcpPeers, discovery::do_multicast_peer_discovery,
transport::do_tcp_stack,
};
use tracing_subscriber::{layer::SubscriberExt as _, util::SubscriberInitExt};
#[tokio::main]
pub async fn main() {
tracing_subscriber::registry()
.with(tracing_subscriber::fmt::layer().pretty())
.init();
PeersDiscovered::bus_trace();
TcpListenerBind::bus_trace();
TcpPeers::bus_trace();
do_multicast_peer_discovery(Bus::get_default()).unwrap();
do_tcp_stack(Bus::get_default());
tokio::time::sleep(Duration::MAX).await;
}