From cb00c2f30a126a8e8ae85f0d324e89c1b6039804 Mon Sep 17 00:00:00 2001 From: Dennis Schwerdel Date: Tue, 22 Dec 2015 22:44:25 +0100 Subject: [PATCH] Supporting hostnames as peers --- CHANGELOG.md | 1 + src/cloud.rs | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7db47a..0a26d61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ This project follows [semantic versioning](http://semver.org). - [changed] Logging more verbosely - [fixed] Removing NULL-bytes from interface name +- [fixed] Supporting hostnames as peers ### v0.4 (2015-12-22) diff --git a/src/cloud.rs b/src/cloud.rs index b2d39c0..5b87216 100644 --- a/src/cloud.rs +++ b/src/cloud.rs @@ -150,8 +150,8 @@ impl GenericCloud

{ pub fn connect(&mut self, addr: Addr, reconnect: bool) -> Result<(), Error> { if let Ok(mut addrs) = addr.to_socket_addrs() { - while let Some(addr) = addrs.next() { - if self.peers.contains(&addr) || self.blacklist_peers.contains(&addr) { + while let Some(a) = addrs.next() { + if self.peers.contains(&a) || self.blacklist_peers.contains(&a) { return Ok(()); } } @@ -159,14 +159,21 @@ impl GenericCloud

{ debug!("Connecting to {}", addr); if reconnect { if let Ok(mut addrs) = addr.to_socket_addrs() { - while let Some(addr) = addrs.next() { - self.reconnect_peers.push(addr); + while let Some(a) = addrs.next() { + self.reconnect_peers.push(a); } } } - let addrs = self.addresses.clone(); + let subnets = self.addresses.clone(); let node_id = self.node_id.clone(); - self.send_msg(addr, &mut Message::Init(0, node_id, addrs)) + let mut msg = Message::Init(0, node_id, subnets); + if let Ok(mut addrs) = addr.to_socket_addrs() { + while let Some(a) = addrs.next() { + //Ignore error this time + self.send_msg(a, &mut msg).ok(); + } + } + Ok(()) } fn housekeep(&mut self) -> Result<(), Error> {