From e16151419d710194f5dfb24dd1a71e04add4964e Mon Sep 17 00:00:00 2001 From: Mathias Hall-Andersen Date: Mon, 26 Aug 2019 15:01:47 +0200 Subject: Work on callback structure for cryptkey router --- src/main.rs | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) (limited to 'src/main.rs') 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); } -- cgit v1.2.3-59-g8ed1b