2 use async_std::net::{SocketAddr, TcpListener, ToSocketAddrs};
7 local_addrs: SocketAddr,
12 pub async fn new<A: ToSocketAddrs + std::fmt::Display>(ip_addrs: A) -> anyhow::Result<Self> {
13 let listener = TcpListener::bind(&ip_addrs).await?;
14 info!("Started TCP server at {}", &ip_addrs);
17 local_addrs: listener.local_addr()?,
22 pub async fn accept(&self) -> anyhow::Result<Connection> {
23 let (stream, ip_addr) = self.listener.accept().await?;
24 debug!("Received connection attempt from {}", ip_addr);
26 Ok(Connection::from(stream))