diff options
| author | Bryan Newbold <bnewbold@robocracy.org> | 2017-12-12 11:41:36 -0800 | 
|---|---|---|
| committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-12-12 11:41:36 -0800 | 
| commit | 1a0131928e54fce0623afe1bea5799277b40be6a (patch) | |
| tree | 210646de95a842270c17ed81ed7bee09d3db03fc /src/synchronizer.rs | |
| parent | 66bf3345a944e087cf8b66a2fbbceb143873c5e4 (diff) | |
| download | geniza-1a0131928e54fce0623afe1bea5799277b40be6a.tar.gz geniza-1a0131928e54fce0623afe1bea5799277b40be6a.zip | |
start flushing out new APIs
Diffstat (limited to 'src/synchronizer.rs')
| -rw-r--r-- | src/synchronizer.rs | 39 | 
1 files changed, 28 insertions, 11 deletions
| 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<DatPeer>, +    registers: Vec<SleepDirRegister>, +    mode: SyncMode, +    wanted: Bitfield, +    inflight: Vec<Vec<u64>>, +} + +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<u64> { | 
