Stream API for tokio-udp.
```rust use tokio::net::UdpSocket; use tokio::io::{AsyncReadExt, AsyncWriteExt}; use udpflow::{UdpListener, UdpStreamLocal, UdpStreamRemote}; async fn server() { let addr = "127.0.0.1:5000".parse().unwrap(); let listener = UdpListener::new(addr).unwrap(); loop { let mut buf = vec![0u8; 0x2000]; let (n, stream, addr) = listener.accept(&mut buf).await.unwrap(); buf.truncate(n); tokio::spawn(handle(stream, buf)); } }
async fn handle(mut stream1: UdpStreamLocal, firstpacket: Vec
rust
use tokio::net::TcpStream;
use udpflow::UotStream;
use tokio::io::{AsyncReadExt, AsyncWriteExt};
async {
let stream = TcpStream::connect("127.0.0.1:8080").await.unwrap();
let mut stream = UotStream::new(stream);
let mut buf = vec![0u8; 256];
// read a frame
let n = stream.read(&mut buf).await.unwrap();
// write a frame
stream.write_all(&buf[..n]).await;
};
plain
+------+----------+
| LEN | DATA |
+------+----------+
| 2 | Variable |
+------+----------+
*LEN is a 16-bit unsigned integer in big endian byte order.