wstd 0.5.0-draft2

An async standard library for Wasm Components and WASI 0.2
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use wstd::io;
use wstd::iter::AsyncIterator;
use wstd::net::TcpListener;

#[wstd::main]
async fn main() -> io::Result<()> {
    let listener = TcpListener::bind("127.0.0.1:8080").await?;
    println!("Listening on {}", listener.local_addr()?);
    println!("type `nc localhost 8080` to create a TCP client");

    let mut incoming = listener.incoming();
    while let Some(stream) = incoming.next().await {
        let stream = stream?;
        println!("Accepted from: {}", stream.peer_addr()?);
        io::copy(&stream, &stream).await?;
    }
    Ok(())
}