169 Commits

Author SHA1 Message Date
Carl Lerche
bf1305c421
Bump version to v0.1.3 (#213) 2018-03-09 11:41:31 -08:00
Carl Lerche
e18c23afa1
Bump tokio to v0.1.2 (#201)
This also bumps tokio-io to v0.1.6 and prepares for the initial release
of tokio-executor, tokio-reactor, and tokio-threadpool.
2018-03-08 20:15:51 -08:00
Carl Lerche
142bd3b2a9
Depend on latest release of Mio (#198) 2018-03-08 13:36:54 -08:00
Carl Lerche
25dd54d263
Improve poll_read_ready implementation (#193)
This patch updates `poll_read_ready` to take a `mask` argument, enabling
the caller to specify the desired readiness. `need_read` is renamed to
`clear_read_ready` and also takes a mask.

This enables a caller to listen for HUP events without requiring reading
from the I/O resource.
2018-03-07 16:24:51 -08:00
Carl Lerche
e1b3085153
Extract the reactor to a dedicated crate. (#169)
This allows libraries that require access to reactor related types to
depend on this crate without having to depend on the entirety of Tokio.

For example, libraries that implement their custom I/O resource will
need to access `Registration` or `PollEvented`.
2018-03-02 13:51:34 -08:00
Carl Lerche
df19119c0a
Add io facade and update reactor docs (#166)
This patch updates the documentation for a number of APIs. It also
introduces a prelude module and an io facade module, re-exporting types
from tokio-io.
2018-03-01 21:48:18 -08:00
Carl Lerche
fe14e7b127
Introduce the Tokio runtime: Reactor + Threadpool (#141)
This patch is an intial implementation of the Tokio runtime. The Tokio
runtime provides an out of the box configuration for running I/O heavy
asynchronous applications.

As of now, the Tokio runtime is a combination of a work-stealing thread
pool as well as a background reactor to drive I/O resources.

This patch also includes tokio-executor, a hopefully short lived crate
that is based on the futures 0.2 executor RFC.

* Implement `Park` for `Reactor`

This enables the reactor to be used as the thread parker for executors.
This also adds an `Error` component to `Park`. With this change, a
`Reactor` and a `CurrentThread` can be combined to achieve the
capabilities of tokio-core.
2018-02-21 07:42:22 -08:00
Carl Lerche
0b58bded7c
Bump version to v0.1.1 (#131) 2018-02-09 14:30:32 -08:00
Carl Lerche
4ae76132c1
Update the required Mio point release. (#120)
Tokio depends on the latest Mio point release, so update Cargo.toml to
reflect this.
2018-02-07 14:45:12 -08:00
Carl Lerche
23bc9d20d3
Prepare for tokio 0.1 release (#119) 2018-02-07 13:28:29 -08:00
Carl Lerche
f0ea9d6f4c
Switch back to futures from crates.io (#113)
Doing so requires copying the `current_thread` executor from GitHub into
the repo.
2018-02-06 07:26:21 -08:00
Carl Lerche
2e94b658ed
Track futures tokio-reform branch (#88)
This patch also updates tests and examples to remove deprecated API
usage.
2018-02-01 10:31:07 -08:00
Carl Lerche
b9db119b45
Move tokio-io into the git repository. (#96)
The crates remain separate, but are now developed in the same git
repository using cargo workspaces.

This facilitates making coordinated changes.
2018-01-31 21:06:42 -08:00
Carl Lerche
a998367002 Add CHANGELOG stub. 2018-01-30 13:27:12 -08:00
Carl Lerche
117dcba8cb Remove &addr arg from TcpListener::from_std (#92)
This has been deprecated in mio.
2018-01-30 14:49:32 -06:00
Carl Lerche
fd37fb0f17 Merge remote-tracking branch 'core/master' into new-crate 2018-01-26 14:50:41 -08:00
Alex Crichton
730228c8cb
Add debug logs for how long dispatch takes (#81)
I've often found this to be quite useful when debugging why event loops are
stuck or some other bug looks to be in play.
2018-01-18 13:00:53 -06:00
Alex Crichton
99fc38e0d6 Bump to 0.1.12 2018-01-08 09:51:05 -08:00
Sean McArthur
ce014943ec add TcpStream::peek (#291) 2018-01-08 11:34:33 -06:00
Bastien Orivel
b395ccb6d9 Bump dependencies (#289) 2018-01-02 12:03:54 -06:00
Carl Lerche
c45bbaa04e Bump to v0.1.11 2017-12-11 13:58:30 -06:00
Alex Crichton
2e58422890 Add TcpListener::accept_std as a method
This should allow configuration over what reactor accepted streams go on to by
giving back a libstd-bound object that can then be used later in conjunction
with `TcpStream::from_std`.
2017-12-05 08:48:17 -08:00
Carl Lerche
4c268a8939 Make Handle Send + Sync. (#35)
* Make Handle `Send + Sync`.

This is an initial implementation making `Handle: Send + Sync`. It uses
a `RwLock` to coordinate access to the underlying state storage. An
implementation without the lock is left to later.

This pass also leaves a lot of dead code that can be removed in later
commits.

* Remove reactor code related to message passing

The previous commit removed the need for using message passing to
communicate with the reactor. This commit removes all the unnecessary
code.
2017-11-17 12:51:23 -08:00
Alan Somers
2764fc3de2 bump futures to 0.1.16
examples/tinydb.rs uses futures::prelude, which was added in 0.1.16
2017-11-16 22:42:36 -07:00
Carl Lerche
36aaaa1520 Rename crate to tokio 2017-10-30 16:37:00 -07:00
Alex Crichton
1c88b8f336 Bump to 0.1.10 2017-10-05 10:47:57 -07:00
Alex Crichton
8a43472b35 Add an example of compressing on a CPU pool 2017-09-11 14:41:15 -07:00
Alex Crichton
5e92b10f3f Add a "tiny" HTTP example
Hopefully being relatively illustrative in how a bare-bones non-production-ready
server can be spun up!
2017-09-10 21:45:23 -07:00
Alex Crichton
7b94cf307d Add a multithreaded echo server example 2017-09-10 08:54:35 -07:00
Travis Bischel
fce59de79e bump slab to 0.4.0
Makes some of the code easier to read.
2017-09-07 20:53:54 -07:00
Alex Crichton
e8617ea1fc Update futures dependency 2017-08-24 08:16:04 -07:00
Raph Levien
05b1ba4342 [fuchsia] Config changes to build on Fuchsia
This patch disables various Unix-specific platform features that are
not enabled on Fuchsia. It also updates the mio version to 0.6.10,
which is the first release that supports Fuchsia.
2017-07-31 14:12:53 -07:00
Alex Crichton
8c297a6208 Bump to 0.1.9 2017-07-24 21:36:19 -07:00
Igor Gnatenko
ddb244429e bump env_logger to 0.4 2017-06-16 08:41:09 +02:00
Alex Crichton
562aa65c99 Bump to 0.1.8 2017-06-07 13:29:14 -07:00
Alex Crichton
16d15520ad Update tokio-core with new task system 2017-05-30 08:42:32 -07:00
Carl Lerche
7acffe4785 Expose TCP socket options 2017-05-27 09:37:25 -07:00
Alex Crichton
b92fd2d22a Update to latest mio version 2017-05-19 10:00:57 -07:00
Alex Crichton
98e99c71c4 Bump to 0.1.7 2017-05-08 16:19:27 -07:00
Alex Crichton
c80953f078 Bump to 0.1.6 2017-03-15 10:30:10 -07:00
Alex Crichton
e79f665440 Bump to 0.1.5 2017-03-15 10:06:32 -07:00
Alex Crichton
89fcc96dd4 Migrate to using tokio-io
Deprecate the existing `io` module in this crate entirely.

More details coming soon!

Closes #61
2017-03-15 09:46:54 -07:00
Alex Crichton
a4b4d57cb7 Touch up TcpStream::from_stream 2017-01-24 16:39:01 -08:00
Alex Crichton
fcdeb0e5d6 Update crates.io metadata 2017-01-23 20:15:49 -08:00
Alex Crichton
75fe37bc8c Bump to 0.1.4 2017-01-23 20:14:28 -08:00
Alex Crichton
e69b67fcfe Remove extraneous clone in Remote 2017-01-23 20:06:03 -08:00
Alex Crichton
28ace4d33c Update docs/homepage link 2017-01-11 09:21:01 -08:00
Alex Crichton
2810471035 Update docs to docs.rs 2017-01-09 16:40:16 -08:00
Alex Crichton
76c3e162b7 Bump to 0.1.3 2017-01-06 11:39:38 -08:00
Alex Crichton
b9f7808f6e Bump to 0.1.2 2016-12-19 00:37:27 -08:00