Alex Crichton
6c045d31ac
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
2016-09-07 22:12:14 -07:00
Alex Crichton
3794cf7f1d
Update with Poll/Async changes
2016-09-02 12:17:38 -07:00
Alex Crichton
6947933b6b
Be sure to call poll before doing I/O
...
Ensures that we can properly clear the readiness bits and manage them correctly.
Closes #10
2016-09-01 09:27:42 -07:00
Alex Crichton
f107c8d860
Rename to tokio-core, add in futures-io
...
Renames the futures-mio crate to tokio-core, pulls in the futures-io crate under
an `io` module, and gets everything compiling.
2016-08-26 14:39:47 -07:00
Alex Crichton
d1cd455225
Implement Stream for Receiver
...
That's... what it is!
2016-08-22 10:10:03 -07:00
Alex Crichton
df9730fcbe
Add a channel to the futures-mio crate
2016-08-20 23:41:19 -07:00
Alex Crichton
2bd616df51
Reorganize the event_loop module
...
Split it up into a number of targeted modules for each purpose, for example loop
data, I/O sources, timeouts, and channels. No actual change is intended to be
part of this commit.
2016-08-20 23:24:56 -07:00
Alex Crichton
e7f4313cf4
Implementing LoopData
...
This type acts for a handle to storage of non-`Send` data. The handle itself is
sendable across threads and is therefore suitable for storage in a `Future`.
This data uses communication internally and a new method on `Task` to ensure
that when the data needs to be accessed the future will find its way to the
right thread.
More on this type coming soon!
2016-08-04 20:34:54 -07:00