8000 GitHub - amoilanen/nio: Nio is an experimental async runtime for Rust
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

amoilanen/nio

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nio

Nio is an experimental async runtime for Rust.

Nio focuses solely on providing an async runtime, It doesn't include additional utilities like. io, sync, You'll still need to rely on libraries like tokio for everything else.

Example

Add the following dependency to your Cargo.toml:

[dependencies]
nio = "0.0.1"

Here is a basic echo server example:

use nio::net::TcpListener;
use std::io;
use tokio::io::{AsyncReadExt, AsyncWriteExt};

#[nio::main]
async fn main() -> io::Result<()> {
    let listener = TcpListener::bind("127.0.0.1:8080").await?;
    println!("{listener:#?}");
    
    loop {
        let (mut stream, addr) = listener.accept().await?;
        println!("[INCOMING] {addr:?}");

        nio::spawn(async move {
            let mut buf = vec![0; 1024];
            while let Ok(n) = stream.read(&mut buf).await {
                stream.write(&buf[..n]).await.unwrap();
            }
        });
    }
}

About

Nio is an experimental async runtime for Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.5%
  • Python 0.5%
0