use nwep::{Address, Identity, Server};
use std::time::{SystemTime, UNIX_EPOCH};
fn now_ms() -> i64 {
SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap()
.as_millis() as i64
}
fn main() -> nwep::Result<()> {
let server = Server::builder()
.identity(Identity::generate()?)
.bind(Address::loopback(0))
.on_request(|req, res| match req.path() {
Some("/hello") => res.ok(b"hi from nwep rust\n"),
_ => res.not_found(),
})
.build()?;
println!("serving on [::1]:{}", server.local_port());
println!("node {}", server.node_id()?);
println!("answering read /hello, ctrl-c to stop");
loop {
server.tick(now_ms())?;
std::thread::sleep(std::time::Duration::from_millis(2));
}
}