singularity

Mio is a non-blocking I/O library designed for high-performance network services in Rust. It supports handling thousands of simultaneous connections.


[dependencies]
mio = {version = "1.0.2", features = ["os-poll", "net"]}

use std::io;
use mio::net::TcpListener; 
use mio::{Events, Interest, Poll, Token}; 
fn main() -> io::Result<()> { 
    let mut poll = Poll::new()?;
let mut events = Events::with_capacity(1024); 
let addr = "127.0.0.1:8080".parse().unwrap(); 
    let mut server = TcpListener::bind(addr)?; 
    poll.registry().register(&mut server, Token(0), Interest::READABLE)?;    
    loop { 
        poll.poll(&mut events, None)?; 
        for event in events.iter() {
            match event.token() { 

                Token(0) => { 
				
                    let (_socket, address) = server.accept()?; 
                    println!("Accepted connection from: {:?}", address); 
                }
                _ => unreachable!(), 
            }
        }
    }
}