Reorganize the entire crate:

Renamed APIs

* Loop => reactor::Core
* LoopHandle => reactor::Handle
* LoopPin => reactor::Pinned
* TcpStream => net::TcpStream
* TcpListener => net::TcpListener
* UdpSocket => net::UdpSocket
* Sender => channel::Sender
* Receiver => channel::Receiver
* Timeout => reactor::Timeout
* ReadinessStream => reactor::PollEvented
* All `LoopHandle` methods to construct objects are now free functions on the
  associated types, e.g. `LoopHandle::tcp_listen` is now `TcpListener::bind`
* All APIs taking a `Handle` now take a `Handle` as the last argument
* All future-returning APIs now return concrete types instead of trait objects

Added APIs

* io::Io trait -- Read + Write + ability to poll

Removed without replacement:

* AddSource
* AddTimeout
* IoToken
* TimeoutToken

Closes #3
Closes #6
This commit is contained in:
Alex Crichton
2016-09-07 22:12:14 -07:00
parent 93c61bb384
commit 6c045d31ac
24 changed files with 811 additions and 476 deletions
+3 -2
View File
@@ -5,6 +5,7 @@ extern crate tokio_core;
use std::time::{Instant, Duration};
use futures::Future;
use tokio_core::reactor::{Core, Timeout};
macro_rules! t {
($e:expr) => (match $e {
@@ -16,9 +17,9 @@ macro_rules! t {
#[test]
fn smoke() {
drop(env_logger::init());
let mut l = t!(tokio_core::Loop::new());
let mut l = t!(Core::new());
let dur = Duration::from_millis(10);
let timeout = l.handle().timeout(dur).and_then(|t| t);
let timeout = Timeout::new(dur, &l.handle()).and_then(|t| t);
let start = Instant::now();
t!(l.run(timeout));
assert!(start.elapsed() >= dur);