diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2018-02-15 19:00:45 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-02-15 19:00:45 -0800 |
commit | dd51907e1228afbe032c61fe8bcbdd4de4497a98 (patch) | |
tree | 5078996d062e3f0d9214e5a998fab1aaa058b95f /src/peer.rs | |
parent | 45687c3d12b6eb2e8ba9aec28fe824bc80d591f2 (diff) | |
download | geniza-dd51907e1228afbe032c61fe8bcbdd4de4497a98.tar.gz geniza-dd51907e1228afbe032c61fe8bcbdd4de4497a98.zip |
more WIP on synchronizer
Diffstat (limited to 'src/peer.rs')
-rw-r--r-- | src/peer.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/peer.rs b/src/peer.rs index 0f04a40..b4fddef 100644 --- a/src/peer.rs +++ b/src/peer.rs @@ -33,6 +33,8 @@ fn receiver_loop(mut dc: DatConnection, peer_rx: chan::Sender<Result<(DatNetMess peer_rx.send(Ok((msg, feed_index))); }, Err(e) => { + // XXX: check if this was due to socket closing cleanly, in which case don't pass + // error along peer_rx.send(Err(e)); return }, @@ -46,7 +48,7 @@ fn receiver_loop(mut dc: DatConnection, peer_rx: chan::Sender<Result<(DatNetMess /// upwards on the unified peer message channel. fn worker_thread(mut dc: DatConnection, handle: u64, outbound_chan: chan::Receiver<(DatNetMessage, u8)>, unified_chan: chan::Sender<Result<PeerMsg>>) { - dc.tcp.set_write_timeout(Some(Duration::new(2, 0))); + dc.tcp.set_write_timeout(Some(Duration::new(2, 0))).unwrap(); let rx_dc = dc.clone(); let (receiver_chan, raw_peer_rx) = chan::async(); @@ -133,9 +135,9 @@ impl DatPeerThread { Ok(()) } - pub fn add_feed(&mut self, key: &[u8]) -> Result<()> { + pub fn add_feed(&mut self, key: &Key) -> Result<()> { - let key_bytes = key; + let key_bytes = &key[0..32]; let key = Key::from_slice(key_bytes).unwrap(); for k in self.feeds.iter() { @@ -157,5 +159,9 @@ impl DatPeerThread { self.feeds.push((index as u8, key.clone())); Ok(()) } + + pub fn close(&mut self) -> Result<()> { + unimplemented!(); + } } |