aboutsummaryrefslogtreecommitdiffstats
path: root/src/interface/peer_server.rs
diff options
context:
space:
mode:
authorJake McGinty <me@jake.su>2018-04-26 15:54:40 -0700
committerJake McGinty <me@jake.su>2018-04-26 15:54:40 -0700
commit50169b51737be3c6221d8a767ae8fdb03e171ea9 (patch)
tree977920cdf27ffaa36d7035a0e8a83e5eaa375cf6 /src/interface/peer_server.rs
parenttests: gate iperf3 behind flag argument (diff)
downloadwireguard-rs-50169b51737be3c6221d8a767ae8fdb03e171ea9.tar.xz
wireguard-rs-50169b51737be3c6221d8a767ae8fdb03e171ea9.zip
peer_server: make Error the error type, not ()
Diffstat (limited to 'src/interface/peer_server.rs')
-rw-r--r--src/interface/peer_server.rs21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/interface/peer_server.rs b/src/interface/peer_server.rs
index 4de6eec..7832e85 100644
--- a/src/interface/peer_server.rs
+++ b/src/interface/peer_server.rs
@@ -409,7 +409,7 @@ impl PeerServer {
impl Future for PeerServer {
type Item = ();
- type Error = ();
+ type Error = Error;
fn poll(&mut self) -> Poll<Self::Item, Self::Error> {
// Handle config events
@@ -440,7 +440,8 @@ impl Future for PeerServer {
}
},
Ok(Async::NotReady) => break,
- Ok(Async::Ready(None)) | Err(_) => return Err(()),
+ Ok(Async::Ready(None)) => bail!("config stream ended unexpectedly"),
+ Err(e) => bail!("config stream error: {:?}", e),
}
}
@@ -451,7 +452,8 @@ impl Future for PeerServer {
let _ = self.handle_timer(message).map_err(|e| debug!("TIMER: {}", e));
},
Ok(Async::NotReady) => break,
- Ok(Async::Ready(None)) | Err(_) => return Err(()),
+ Ok(Async::Ready(None)) => bail!("timer stream ended unexpectedly"),
+ Err(e) => bail!("timer stream error: {:?}", e),
}
}
@@ -463,14 +465,8 @@ impl Future for PeerServer {
let _ = self.handle_ingress_packet(addr, packet).map_err(|e| warn!("UDP ERR: {:?}", e));
},
Ok(Async::NotReady) => break,
- Ok(Async::Ready(None)) => {
- error!("AHHHHHHHHHH Async::Ready(None) returned by UDP!!");
- return Err(());
- },
- Err(e) => {
- error!("AHHHHHHHHHH {:?}", e);
- return Err(());
- }
+ Ok(Async::Ready(None)) => bail!("incoming udp stream ended unexpectedly"),
+ Err(e) => bail!("incoming udp stream error: {:?}", e)
}
}
}
@@ -482,7 +478,8 @@ impl Future for PeerServer {
let _ = self.handle_egress_packet(packet).map_err(|e| warn!("UDP ERR: {:?}", e));
},
Ok(Async::NotReady) => break,
- Ok(Async::Ready(None)) | Err(_) => return Err(()),
+ Ok(Async::Ready(None)) => bail!("outgoing udp stream ended unexpectedly"),
+ Err(e) => bail!("outgoing udp stream error: {:?}", e),
}
}