mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-20 00:00:08 +02:00
Update to mio master
This commit is contained in:
@@ -90,7 +90,7 @@ impl<T> mio::Evented for Receiver<T> {
|
||||
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<T> mio::Evented for Receiver<T> {
|
||||
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)
|
||||
}
|
||||
|
||||
@@ -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()))
|
||||
}
|
||||
|
||||
+3
-2
@@ -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};
|
||||
|
||||
+3
-7
@@ -93,16 +93,12 @@ impl TcpListener {
|
||||
|
||||
fn poll(&mut self) -> Poll<Option<Self::Item>, 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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user