diff --git a/CHANGES.md b/CHANGES.md index 229d2d74..58e68379 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,10 +2,20 @@ ## [0.2.2] - 2018-11-14 -* Refactor Connector and Resolver services +### Added * Add low/high caps to Framed +### Changed + +* Refactor Connector and Resolver services + + +### Fixed + +* Fix wrong service to socket binding + + ## [0.2.0] - 2018-11-08 ### Added diff --git a/src/server/mod.rs b/src/server/mod.rs index a76f8535..d84f87dd 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -40,7 +40,9 @@ impl Message for StopServer { pub(crate) struct Token(usize); impl Token { - pub(crate) fn next(&self) -> Token { - Token(self.0 + 1) + pub(crate) fn next(&mut self) -> Token { + let token = Token(self.0 + 1); + self.0 += 1; + token } -} +} \ No newline at end of file diff --git a/src/server/server.rs b/src/server/server.rs index 44842575..e6a251a7 100644 --- a/src/server/server.rs +++ b/src/server/server.rs @@ -144,8 +144,15 @@ impl Server { { let sockets = bind_addr(addr)?; + let token = self.token.next(); + self.services.push(StreamNewService::create( + name.as_ref().to_string(), + token, + factory, + )); + for lst in sockets { - self = self.listen(name.as_ref(), lst, factory.clone()) + self.sockets.push((token, lst)); } Ok(self) }