From c820d67d662a0bcecb2b71d63014069d17b6e362 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Sat, 27 Aug 2016 12:33:22 -0700 Subject: [PATCH] Update to mio master --- src/event_loop/channel.rs | 4 ++-- src/event_loop/mod.rs | 11 +++++------ src/lib.rs | 5 +++-- src/tcp.rs | 10 +++------- 4 files changed, 13 insertions(+), 17 deletions(-) diff --git a/src/event_loop/channel.rs b/src/event_loop/channel.rs index 503baef54..e3ddd3935 100644 --- a/src/event_loop/channel.rs +++ b/src/event_loop/channel.rs @@ -90,7 +90,7 @@ impl mio::Evented for Receiver { fn register(&self, poll: &mio::Poll, token: mio::Token, - interest: mio::EventSet, + interest: mio::Ready, opts: mio::PollOpt) -> io::Result<()> { self.ctl.register(poll, token, interest, opts) } @@ -98,7 +98,7 @@ impl mio::Evented for Receiver { fn reregister(&self, poll: &mio::Poll, token: mio::Token, - interest: mio::EventSet, + interest: mio::Ready, opts: mio::PollOpt) -> io::Result<()> { self.ctl.reregister(poll, token, interest, opts) } diff --git a/src/event_loop/mod.rs b/src/event_loop/mod.rs index f8dbc95c3..f887de9bc 100644 --- a/src/event_loop/mod.rs +++ b/src/event_loop/mod.rs @@ -121,11 +121,11 @@ impl Loop { let io = try!(mio::Poll::new()); try!(io.register(&rx, mio::Token(0), - mio::EventSet::readable(), + mio::Ready::readable(), mio::PollOpt::edge())); let pair = mio::Registration::new(&io, mio::Token(1), - mio::EventSet::readable(), + mio::Ready::readable(), mio::PollOpt::level()); let (registration, readiness) = pair; Ok(Loop { @@ -198,7 +198,7 @@ impl Loop { impl Notify for MyNotify { fn notify(&self) { - self.0.set_readiness(mio::EventSet::readable()) + self.0.set_readiness(mio::Ready::readable()) .expect("failed to set readiness"); } } @@ -218,7 +218,7 @@ impl Loop { // to see if it's done. If it's not then the event loop will turn again. let mut res = None; self._run(&mut || { - ready.set_readiness(mio::EventSet::none()) + ready.set_readiness(mio::Ready::none()) .expect("failed to set readiness"); assert!(res.is_none()); match task.enter(|| f.poll()) { @@ -368,8 +368,7 @@ impl Loop { let entry = dispatch.vacant_entry().unwrap(); try!(self.io.register(source, mio::Token(entry.index()), - mio::EventSet::readable() | - mio::EventSet::writable(), + mio::Ready::readable() | mio::Ready::writable(), mio::PollOpt::edge())); Ok((sched.readiness.clone(), entry.insert(sched).index())) } diff --git a/src/lib.rs b/src/lib.rs index 3250a0dc8..9653ed2b9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -18,6 +18,9 @@ extern crate log; mod slot; mod lock; +#[macro_use] +pub mod io; + mod channel; mod event_loop; mod mpsc_queue; @@ -27,8 +30,6 @@ mod timeout; mod timer_wheel; mod udp; -pub mod io; - pub use channel::{Sender, Receiver}; pub use event_loop::{Loop, LoopPin, LoopHandle, AddSource, AddTimeout}; pub use event_loop::{LoopData, AddLoopData, TimeoutToken, IoToken}; diff --git a/src/tcp.rs b/src/tcp.rs index bacf2ce13..26226ec8a 100644 --- a/src/tcp.rs +++ b/src/tcp.rs @@ -93,16 +93,12 @@ impl TcpListener { fn poll(&mut self) -> Poll, io::Error> { match self.inner.io.get_ref().accept() { - Ok(Some(pair)) => { - debug!("accepted a socket"); - Poll::Ok(Some(pair)) - } - Ok(None) => { - debug!("waiting to accept another socket"); + Ok(pair) => Poll::Ok(Some(pair)), + Err(ref e) if e.kind() == io::ErrorKind::WouldBlock => { self.inner.io.need_read(); Poll::NotReady } - Err(e) => Poll::Err(e), + Err(e) => Poll::Err(e) } } }