summaryrefslogtreecommitdiff
path: root/src/listener.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/listener.rs')
-rw-r--r--src/listener.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/listener.rs b/src/listener.rs
index d6dc45f..77c690a 100644
--- a/src/listener.rs
+++ b/src/listener.rs
@@ -80,12 +80,13 @@ struct Listener {
impl Listener {
fn new(ctx: &mut Context, itf: Arc<Interface>, sock: TcpListener, addr: SocketAddr) -> Listener {
info!("Listening on {}", addr);
- let io = ctx.register(&sock, Ready::readable());
+ let io = ctx.reg_alloc();
+ ctx.reg_set(&sock, io, Ready::readable());
Listener {
sock: sock,
addr: addr,
io: io,
- timeout: ctx.alloc_timeout(),
+ timeout: ctx.timeout_alloc(),
itf: itf,
}
}
@@ -104,8 +105,8 @@ impl Machine for Listener {
error!("Error accepting on {}: {}", self.addr, err);
// Stop listening for short time. If this error is not persistent (like
// EMFILE), it will solve itself by just waiting. Not much else we can do.
- ctx.deregister(&self.sock, self.io);
- ctx.reset_timeout(self.timeout, Duration::from_millis(500));
+ ctx.reg_unset(&self.sock, self.io);
+ ctx.timeout_set(self.timeout, Duration::from_millis(500));
}
}
},
@@ -124,7 +125,7 @@ impl Machine for Listener {
}
fn timeout(&mut self, ctx: &mut Context, _: TToken) -> Option<Action> {
- self.io = ctx.register(&self.sock, Ready::readable());
+ ctx.reg_set(&self.sock, self.io, Ready::readable());
None
}
}