aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorMathias Hall-Andersen <mathias@hall-andersen.dk>2019-08-26 15:01:47 +0200
committerMathias Hall-Andersen <mathias@hall-andersen.dk>2019-08-26 15:01:47 +0200
commite16151419d710194f5dfb24dd1a71e04add4964e (patch)
tree857804b5be9ca8ee2033abaf9d97f264f36d5e13 /src/main.rs
parentUpdate the blake2 crate to fix bug upstream (diff)
downloadwireguard-rs-e16151419d710194f5dfb24dd1a71e04add4964e.tar.xz
wireguard-rs-e16151419d710194f5dfb24dd1a71e04add4964e.zip
Work on callback structure for cryptkey router
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);
}