udp_server
fast rust udp server
Examples echo
```rust
![feature(async_closure)]
use udp_server::UdpServer;
use std::cell::RefCell;
use std::error::Error;
[tokio::main]
async fn main()->Result<(),Box> {
let mut a = UdpServer::<_,_,i32>::new("0.0.0.0:5555").await?;
a.setinput(async move |peer,data|{
let mut unpeer = peer.lock().await;
un_peer.send(&data).await?;
Ok(())
});
a.start().await?;
Ok(())
}
```
if you need to use token
Examples token echo
```rust
![feature(async_closure)]
use udp_server::UdpServer;
use std::cell::RefCell;
use std::error::Error;
[tokio::main]
async fn main()->Result<(),Box> {
let mut a = UdpServer::<_,_,i32>::new("0.0.0.0:5555").await?;
a.setinput(async move |peer,data|{
let mut unpeer = peer.lock().await;
match &unpeer.token {
Some(x)=>{
*x.borrowmut()+=1;
},
None=>{
unpeer.token=Some(RefCell::new(1));
}
}
unpeer.send(&data).await?;
Ok(())
});
a.start().await?;
Ok(())
}
```