aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs30
1 files changed, 25 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs
index eab4b61..ae90251 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -5,18 +5,38 @@ mod handshake;
mod router;
mod types;
+use hjul::*;
+
use std::sync::Arc;
+use std::time::Duration;
use sodiumoxide;
use types::KeyPair;
+#[derive(Debug, Clone)]
+struct PeerTimer {
+ a: Timer,
+ b: Timer,
+}
+
fn main() {
+ let runner = Runner::new(Duration::from_millis(100), 1000, 1024);
+
// choose optimal crypto implementations for platform
sodiumoxide::init().unwrap();
- let mut router = router::Device::new(8);
- {
- let peer = router.new_peer();
- }
- loop {}
+ let router = router::Device::new(
+ 4,
+ |t: &PeerTimer, data: bool| t.a.reset(Duration::from_millis(1000)),
+ |t: &PeerTimer, data: bool| t.b.reset(Duration::from_millis(1000)),
+ );
+
+ let pt = PeerTimer {
+ a: runner.timer(|| println!("timer-a fired for peer")),
+ b: runner.timer(|| println!("timer-b fired for peer")),
+ };
+
+ let peer = router.new_peer(pt.clone());
+
+ println!("{:?}", pt);
}