udp-stream 0.0.12

Implementation of UdpSocket same as TcpStream
Documentation
use std::{error::Error, net::SocketAddr, str::FromStr};
use tokio::io::{AsyncReadExt, AsyncWriteExt};
use udp_stream::UdpStream;

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    let level = format!("{}={}", module_path!(), "trace");
    env_logger::Builder::from_env(env_logger::Env::default().default_filter_or(level)).init();

    let mut stream = UdpStream::connect(SocketAddr::from_str("127.0.0.1:8080")?).await?;
    log::info!("Ready to Connected to {}", &stream.peer_addr()?);
    let mut buffer = String::new();
    loop {
        std::io::stdin().read_line(&mut buffer)?;
        stream.write_all(buffer.as_bytes()).await?;
        let mut buf = vec![0u8; 1024];
        let n = stream.read(&mut buf).await?;
        log::trace!("-> {}", String::from_utf8_lossy(&buf[..n]));
        buffer.clear();
    }
}