From 4eb739dcab2a1a79e1e0e60feddb0d9cc0d74108 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 19 Feb 2018 20:06:10 -0800 Subject: more WIP on synchronizer --- src/peer.rs | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) (limited to 'src/peer.rs') diff --git a/src/peer.rs b/src/peer.rs index b4fddef..a020a1a 100644 --- a/src/peer.rs +++ b/src/peer.rs @@ -71,14 +71,30 @@ fn worker_thread(mut dc: DatConnection, handle: u64, outbound_chan: chan::Receiv }; }, raw_peer_rx.recv() -> val => { - if let Some(Ok((msg, feed_index))) = val { - // do mapping between feed index and feed pubkey here - let pm = PeerMsg { - peer_handle: handle, - feed_index: feed_index, - msg, - }; - unified_chan.send(Ok(pm)); + match val { + Some(Ok((msg, feed_index))) => { + // do mapping between feed index and feed pubkey here + let pm = PeerMsg { + peer_handle: handle, + feed_index: feed_index, + msg, + }; + unified_chan.send(Ok(pm)); + }, + Some(Err(err)) => { + println!("remote socket error: {:?}", err); + // XXX: Need to send something so we know to close + unified_chan.send(Err(err)); + dc.close(); + return; + }, + None => { + println!("remote socket closed"); + // XXX: Need to send something so we know to close + //unified_chan.send(Err(err)); + dc.close(); + return; + } }; } }; -- cgit v1.2.3