164 Commits

Author SHA1 Message Date
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
Alex Crichton
f036691681 Clean up the pipe-hup test slightly 2016-12-08 16:30:18 -08:00
Andreas Rottmann
dc27c0a524 Add test for EPOLLHUP without EPOLLIN
Note that this brings in a lot of machinery just for the sake of
wrapping file descriptors as PollEvented. This should maybe be moved
into the public API of some crate.
2016-12-08 17:52:40 +01:00
Alex Crichton
3b38e518ca Bump to 0.1.1 2016-11-22 15:39:13 -08:00
Alex Crichton
56c2c31bcf Depend on futures from crates.io 2016-11-22 09:40:35 -08:00
Dan Burkert
9dce803e4a Depend directly on git version of futures-rs
Cargo replace directives are not meant for libraries, since they are not
transitively inherited by the application.
2016-11-07 20:22:06 -08:00