slings 0.3.47

A small async runtime based on io-uring for Rust
Documentation
use std::io;
use std::time::Duration;

use futures_util::AsyncReadExt;
use slings::net::TcpStream;
use slings::time::timeout;

fn main() -> io::Result<()> {
    slings::block_on(async {
        match timeout(Duration::from_secs(1), TcpStream::connect("127.0.0.1:8080")).await {
            Ok(stream) => match stream {
                Ok(mut stream) => {
                    let mut buf = vec![0; 10];
                    let n = stream.read_exact(&mut buf).await?;
                    println!("read {:?} bytes", n);
                }
                Err(e) => {
                    println!("connect err: {:?}", e);
                }
            },
            Err(e) => {
                println!("timeout err: {:?}", e);
            }
        }
        Ok(())
    })
}