trillium 1.1.0

a modular toolkit for building async web apps
Documentation
use async_io::Timer;
use std::time::{Duration, Instant};

fn main() {
    trillium_smol::run(|mut conn: trillium::Conn| async move {
        let start = Instant::now();
        let count = conn
            .cancel_on_disconnect(async move {
                let count = fastrand::u8(..10);
                for i in 0..count {
                    Timer::after(Duration::from_millis(500)).await;
                    println!("{i}: {:?} elapsed", start.elapsed());
                }
                count
            })
            .await;
        if let Some(count) = count {
            println!("completed");
            conn.ok(format!("ok: {count}"))
        } else {
            println!("disconnected");
            conn
        }
    });
}