From 1a0131928e54fce0623afe1bea5799277b40be6a Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Tue, 12 Dec 2017 11:41:36 -0800 Subject: start flushing out new APIs --- src/synchronizer.rs | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) (limited to 'src/synchronizer.rs') diff --git a/src/synchronizer.rs b/src/synchronizer.rs index 216df6e..4e803fb 100644 --- a/src/synchronizer.rs +++ b/src/synchronizer.rs @@ -4,18 +4,35 @@ use network_msgs::*; use bitfield::*; use protocol::{DatNetMessage, DatConnection}; use sleep_register::HyperRegister; +use peer::DatPeer; +use sleep_register::SleepDirRegister; + +pub enum SyncMode { + RxMax, + RxEndless, + TxEndless, + RxTxEndless, +} + +pub struct Synchronizer { + peers: Vec, + registers: Vec, + mode: SyncMode, + wanted: Bitfield, + inflight: Vec>, +} + +impl Synchronizer { -// Synchronizer -// register_keys -// peers: vec -// registers: HyperRegisters -// mode: enum -// state: enum -// wanted: bitfield -// requested: vec -// -// fn next_wanted() -> Option((reg, u64)) -// fn tick() + pub fn next_wanted(&mut self, reg: u64) -> Option<(u64, u64)> { + // XXX + None + } + + pub fn tick(&mut self) -> Result<()> { + Ok(()) + } +} fn max_index(have_msg: &Have) -> Result { -- cgit v1.2.3