emotibit-data 0.1.1

Emotibit DataParser Library
Documentation
use emotibit_data::types::DataPacket;
use std::{env, str};
use tokio::net::UdpSocket;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let addr = env::args()
        .nth(1)
        .unwrap_or_else(|| "127.0.0.1:8080".to_string());

    let socket = UdpSocket::bind(addr).await?;
    println!("Listening on: {}", socket.local_addr()?);

    let mut buf = [0u8; 1023];
    loop {
        match socket.recv_from(&mut buf).await {
            Ok((size, peer)) => {
                let str = str::from_utf8(&buf[..size]).unwrap().trim();
                match TryInto::<DataPacket>::try_into(str) {
                    Ok(packet) => println!("{:?}", packet),
                    Err(e) => println!("{:?}", e),
                }
            }
            Err(e) => println!("{:?}", e),
        }
    }
}