Carl Lerche and GitHub
a99fa6e096
chore: remove tokio-futures facade crate ( #1327 )
...
This switches from using the tokio-futures facade to referencing
futures-* crates directly.
2019-07-19 13:11:46 -07:00
Carl Lerche and GitHub
d224d6415e
chore: indicate the master branch docs are old. ( #1304 )
...
Fixes #1292
2019-07-15 10:44:47 -07:00
Carl Lerche and GitHub
2291823181
tokio: re-export correct tokio-uds version ( #1286 )
...
An earlier PR (#1282 ) re-exported the version from crates.io and not git
master.
2019-07-11 10:27:51 -07:00
Carl Lerche and GitHub
7ac8bfc821
chore: bump to newer nightly ( #1284 )
2019-07-10 14:36:36 -07:00
Carl Lerche and GitHub
a79483750f
tokio: update echo example ( #1283 )
2019-07-10 14:21:20 -07:00
Carl Lerche and GitHub
3855f373d3
tokio: re-export tokio-uds ( #1282 )
...
The tokio-uds crate has been previously updated to std::future. This
commit enables the re-export in the tokio facade crate.
2019-07-10 11:21:27 -07:00
Carl Lerche and GitHub
bd3f3270db
tokio: update threaded runtime to std::future ( #1280 )
...
re-enables the threaded runtime and sets it (again) as the default.
2019-07-10 11:21:06 -07:00
Carl Lerche and GitHub
f1b8a318d9
tokio: add AsyncReadExt::read_to_end ( #1279 )
2019-07-09 16:17:58 -07:00
Carl Lerche and GitHub
64343f1b78
tokio: add AsyncWriteExt::write_all ( #1277 )
2019-07-09 12:37:14 -07:00
Carl Lerche and GitHub
8b49a1e05f
chore: update examples link in README ( #1274 )
2019-07-08 13:34:39 -07:00
Carl Lerche and GitHub
8fa1510d67
timer: fix build ( #1275 )
2019-07-08 11:23:15 -07:00
Carl Lerche and GitHub
3e898f58a5
tcp: add ascyc fn TcpListener::accept ( #1242 )
...
Refs: #1209
2019-07-03 09:49:56 -07:00
Carl Lerche and Ivan Petkov
70eca184f0
tokio: re-enable timer in runtimes ( #1237 )
...
This also brings back the timer tests in the tokio crate.
2019-07-01 18:27:13 -07:00
Carl Lerche and GitHub
b2c777846e
timer: finish updating timer ( #1222 )
...
* timer: restructure feature flags
* update timer tests
* Add `async-traits` to CI
This also disables a buggy `threadpool` test. This test should be fixed in the future.
Refs #1225
2019-06-30 08:48:53 -07:00
Carl Lerche and GitHub
e7488d983e
threadpool: update to std::future ( #1219 )
...
An initial pass at updating `tokio-threadpool` to `std::future`. The
codebase and tests both now run using `std::future` but the wake
mechanism is not ideal. Follow up work will be required to improve on
this.
Refs: #1200
2019-06-27 22:30:56 -07:00
Carl Lerche and GitHub
ff906acdfb
ci: disable cache on cirrus ( #1215 )
...
Caching takes longer than rebuilding
2019-06-27 12:08:43 -07:00
Carl Lerche and GitHub
32ceccb465
sync: add async APIs to oneshot and mpsc ( #1211 )
...
Adds:
- oneshot::Sender::close
- mpsc::Receiver::recv
- mpsc::Sender::send
Also renames `poll_next` to `poll_recv`.
Refs: #1210
2019-06-27 11:33:36 -07:00
Carl Lerche and GitHub
ed4d4a5353
chore: format code and enable rustfmt CI task ( #1212 )
2019-06-27 00:05:01 -07:00
Carl Lerche and GitHub
1f47ed3dcc
tokio: rewrite io_read.rs test to use async/await ( #1207 )
...
This simplifies the test
2019-06-26 17:06:56 -07:00
Carl Lerche and GitHub
e9aaacddbd
tokio: re-export sync::{lock,mpsc} ( #1208 )
...
These types have been updated already.
2019-06-26 16:54:15 -07:00
Carl Lerche and GitHub
11f6b2862f
tokio: move I/O helpers to ext traits ( #1204 )
...
Refs: #1203
2019-06-26 14:42:19 -07:00
Carl Lerche and GitHub
8404f796ac
test: get cargo test --tests working ( #1205 )
...
Broken tests are disabled
2019-06-26 14:40:52 -07:00
Carl Lerche and GitHub
dc5fa80a09
macros: re-export main macro from tokio ( #1198 )
...
Includes minor fixes and a very basic example.
Fixes #1183
2019-06-25 20:14:21 -07:00
Carl Lerche and GitHub
06c473e628
Update Tokio to use std::future. ( #1120 )
...
A first pass at updating Tokio to use `std::future`.
Implementations of `Future` from the futures crate are updated to implement
`Future` from std. Implementations of `Stream` are moved to a feature flag.
This commits disables a number of crates that have not yet been updated.
2019-06-24 12:34:30 -07:00
Carl Lerche
8d0f102de8
Merge branch 'v0.1.x' into merge-0.1
2019-06-05 12:28:39 -07:00
Carl Lerche and GitHub
18ed0be851
executor: remove unnecessary APIs from Enter. ( #1115 )
2019-05-31 11:11:10 -07:00
Carl Lerche and GitHub
01052f930a
Bump tokio version to v0.1.21. ( #1113 )
2019-05-30 14:39:30 -07:00
Carl Lerche and GitHub
1b498e8aa2
Fix TCP poll_hup test ( #1106 )
...
This updates tests to track a fix applied in Mio. Previously, Mio
incorrectly fired HUP events. This was due to Mio mapping `RDHUP` to
HUP. The test is updated to correctly generate a HUP event.
Additionally, HUP events will be removed from all platforms except for
Linux. This is caused by the inability to reliably map kqueue events to
the epoll HUP behavior.
2019-05-24 14:08:07 -07:00
Carl Lerche
38092010c4
Merge branch 'v0.1.x'
2019-05-14 11:50:44 -07:00
Carl Lerche and GitHub
475dabe96d
Release tokio v0.1.20, tokio-timer v0.2.21, and remove async-await-preview feature. ( #1089 )
...
The `async-await-preview` feature is removed as 0.1 will no longer track
Rust nightly.
This also bumps:
- tokio-timer (0.2.11).
2019-05-14 11:21:24 -07:00
Carl Lerche and GitHub
cb4aea394e
Update Tokio to Rust 2018 ( #1082 )
2019-05-14 10:27:36 -07:00
Carl Lerche and GitHub
951f2fd910
test: re-export macro dependencies ( #1077 )
...
Callers may not always have `futures` available at the root of the
crate. Re-exporting dependencies makes them available to the macro at a
deterministic location.
2019-05-03 20:43:40 -07:00
Carl Lerche and GitHub
4ef736b9d5
async-await: add current_thread::Runtime::block_on_async ( #1072 )
...
This function is used by the Tokio macros introduced by #1058 but was
omitted from the PR.
2019-04-30 19:55:22 -07:00
Carl Lerche and GitHub
ea282efb2e
ci: fix isRelease condition ( #1066 )
2019-04-29 10:37:00 -07:00
Carl Lerche and David Barsky
6a8934e897
Fix threadpool dependency ( #1061 )
2019-04-25 22:23:24 -04:00
Carl Lerche and David Barsky
0e400af78c
Async/await polish ( #1058 )
...
A general refresh of Tokio's experimental async / await support.
2019-04-25 22:22:32 -04:00
Carl Lerche and GitHub
df702130d6
tcp: fix some tests that spuriously fail ( #1060 )
...
This does not remove all cases of using a fixed port in doc tests, but
removing some should reduce the likelihood of spurious failures.
2019-04-25 12:01:39 -07:00
Carl Lerche and GitHub
949adbb887
chore: remember to remove path deps on release ( #1057 )
2019-04-24 10:42:39 -07:00
Carl Lerche and GitHub
62f34e15ce
Bump tokio to 0.1.19. ( #1053 )
...
This also bumps:
- tokio-async-await (0.1.7)
- tokio-buf (0.1.1)
- tokio-sync (0.1.5)
- tokio-threadpool (0.1.14)
2019-04-22 15:12:25 -07:00
Carl Lerche and GitHub
9144b2ff53
sync: remove unnecessary imports ( #1043 )
2019-04-09 12:26:11 -07:00
Carl Lerche and GitHub
824b7b6759
buf: stream and iter helpers ( #1011 )
2019-03-29 12:26:13 -07:00
Carl Lerche and GitHub
cb91dd274a
buf: impl Error for CollectVecError ( #1010 )
2019-03-29 08:49:08 -07:00
Carl Lerche and GitHub
a99b8e2e0b
buf: impl size_hint for str types + reorg tests ( #1012 )
2019-03-28 14:02:45 -07:00
Carl Lerche and GitHub
03859a7dcd
buf: implement FromBufStream for Bytes ( #1009 )
2019-03-27 19:22:06 -07:00
Carl Lerche
6e4945025c
chore: fix Cargo.toml files
2019-03-22 14:10:06 -07:00
Carl Lerche and GitHub
3c8f110730
Bump Tokio version to v0.1.18 ( #997 )
...
Also bumps:
- tokio-signal (0.2.8)
- tokio-current-thread (0.1.6)
- tokio-executor (0.1.7)
- tokio-threadpool (0.1.13)
[ci-release]
2019-03-22 13:55:48 -07:00
Carl Lerche and GitHub
678f15bd48
ci: skip crates.io dep run when releasing ( #995 )
...
#993 introduces changes in a sub crate that other Tokio crates depend
on. To make CI pass, a `[patch]` statement and `path` dependencies are
used.
When releasing, these must be removed. However, the commit that
removes them and prepares the crates for release will not be able to
pass CI.
This commit adds a conditional on a special `[ci-release]` snippet in
the commit message. If this exists, CI is only run with the full "patched"
dependencies.
2019-03-22 11:58:00 -07:00
Carl Lerche and GitHub
b1172f8074
executor: add TypedExecutor ( #993 )
...
Adds a `TypedExecutor` trait that describes how to spawn futures of a specific
type. This is useful for implementing functions that are generic over an executor
and wish to support both `Send` and `!Send` cases.
2019-03-21 14:30:18 -07:00
Carl Lerche and GitHub
cdde2e7a27
chore: repo maintenance + no path dependencies ( #991 )
...
- Move `tokio` into its own directory.
- Remove `path` dependencies.
- Run tests with once with crates.io dep and once with patched dep.
2019-03-19 14:58:59 -07:00
Carl Lerche and GitHub
987ccfc8ac
Bump Tokio to v0.1.17 ( #983 )
...
Also bumps:
- tokio-sync (v0.1.4)
2019-03-13 11:19:22 -07:00
Carl Lerche and GitHub
a1871b1480
Prepare tokio-trace-core for initial release. ( #979 )
2019-03-13 10:29:27 -07:00
Carl Lerche and GitHub
e28856cffe
Bump Tokio to 0.1.16. ( #941 )
...
Also bumps:
* tokio-current-thread (0.1.5)
* tokio-fs (0.1.6)
* tokio-io (0.1.12)
* tokio-reactor (0.1.9)
* tokio-threadpool (0.1.12)
2019-03-01 21:04:43 -08:00
Carl Lerche and GitHub
85e3bd34af
async-await: fix build for latest nightly ( #940 )
...
Fixes : #936
2019-03-01 15:40:42 -08:00
Carl Lerche and GitHub
195c4b0496
Bump tokio-sync version to v0.1.3 ( #938 )
2019-03-01 12:57:07 -08:00
Carl Lerche and GitHub
619d3b163b
sync: impl Error for mpsc error types ( #937 )
2019-03-01 12:24:17 -08:00
Carl Lerche and GitHub
43d69d77e2
Set up CI with Azure Pipelines ( #926 )
...
Use Azure Pipelines for CI. This migrates away from Travis and
Appveyor.
2019-03-01 09:12:21 -08:00
Carl Lerche and GitHub
dbb04e310c
Fix rustfmt check ( #927 )
...
* Add set -e to .travis.yml
* Fix fmt
* Fix codec feature
2019-02-24 15:41:26 -08:00
Carl Lerche and GitHub
0e2e07812a
Bump tokio-buf to v0.1.0 ( #925 )
2019-02-23 21:58:47 -08:00
Carl Lerche and GitHub
047d0b821c
buf: misc polish ( #924 )
...
- Rename feature flag `util`.
- Rename module `util`
- Move `error` module into `util`.
- Move `BufStream` impls into dedicated file.
2019-02-23 10:17:21 -08:00
Carl Lerche and GitHub
70f4fc481c
sync: Add watch, a single value broadcast channel ( #922 )
...
A single-producer, multi-consumer channel that only retains the _last_ sent
value. Values are broadcasted out.
This channel is useful for watching for changes to a value from multiple
points in the code base (for example, changes to a configuration value).
2019-02-22 21:54:50 -08:00
Carl Lerche and GitHub
7039f02bb2
Bump tokio-async-await to 0.1.6 ( #921 )
2019-02-22 17:15:42 -08:00
Carl Lerche and GitHub
80162306e7
chore: apply rustfmt to all crates ( #917 )
2019-02-21 11:56:15 -08:00
Carl Lerche and GitHub
41a2245b85
chore: remove patch statements in Cargo.toml ( #914 )
2019-02-21 09:28:14 -08:00
Carl Lerche and GitHub
7ca4f3ec4b
Bump tokio-sync to v0.1.2. ( #909 )
2019-02-21 09:28:05 -08:00
Carl Lerche and GitHub
0da649727c
fs: fix tests ( #916 )
2019-02-20 21:56:23 -08:00
Carl Lerche and GitHub
3d787b16c7
sync: add loom test for mpsc ( #903 )
...
This patch updates tokio_sync::mpsc to support using loom for fuzz
testing. It includes a basic fuzz test.
2019-02-20 10:05:56 -08:00
Carl Lerche and GitHub
e3115231dd
sync: fix mpsc/sempahore when releasing permits ( #904 )
...
This patch fixes Semaphore by adding a missing code path to the release
routine that handles the case where the waiter's node is queued in the
sempahore but has not yet been assigned the permit.
This fix is used by mpsc to handle the case when the Sender has called
`poll_ready` and is dropped before the permit is acquired.
Fixes #900
2019-02-19 16:26:05 -08:00
Carl Lerche and GitHub
a69aca850c
Bump tokio-timer v0.2.10 ( #886 )
2019-02-04 16:09:43 -08:00
Carl Lerche and GitHub
9d6d142bed
Bump tokio-sync v0.1.1 ( #881 )
2019-02-01 14:19:34 -08:00
Carl Lerche and GitHub
11e2af66a8
Bump Tokio to v0.1.15. ( #869 )
...
Also bumps:
- tokio-sync (0.1.0)
- tokio-threadpool (0.1.11)
- tokio-timer (0.2.9)
2019-01-25 10:20:09 -08:00
Carl Lerche and GitHub
a4aae1459c
chore: move enumerate test to correct location ( #867 )
2019-01-24 20:47:45 -08:00
Carl Lerche and GitHub
13083153aa
Introduce tokio-sync crate containing synchronization primitives. ( #839 )
...
Introduce a tokio-sync crate containing useful synchronization primitives for programs
written using Tokio.
The initial release contains:
* An mpsc channel
* A oneshot channel
* A semaphore implementation
* An `AtomicTask` primitive.
The `oneshot` and `mpsc` channels are new implementations providing improved
performance characteristics. In some benchmarks, the new mpsc channel shows
up to 7x improvement over the version provided by the `futures` crate. Unfortunately,
the `oneshot` implementation only provides a slight performance improvement as it
is mostly limited by the `futures` 0.1 task system. Once updated to the `std` version
of `Future` (currently nightly only), much greater performance improvements should
be achievable by `oneshot`.
Additionally, he implementations provided here are checked using
[Loom](http://github.com/carllerche/loom/ ), which provides greater confidence of
correctness.
2019-01-22 11:37:26 -08:00
Carl Lerche and GitHub
74c473d68f
travis: allow nightly Rust CI to fail ( #843 )
2019-01-10 11:27:58 -08:00
Carl Lerche
25e835c5b7
tcp: specify version for tokio dev dependency
...
This is required for publishing to crates.io
2019-01-06 23:31:24 -08:00
Carl Lerche and GitHub
961aae41c4
Bump version to 0.1.14. ( #836 )
...
Also bumps:
* tokio-async-await (0.1.5)
* tokio-executor (0.1.6)
* tokio-fs (0.1.5)
* tokio-io (0.1.11)
* tokio-reactor (0.1.8)
* tokio-tcp (0.1.3)
* tokio-threadpool (0.1.10)
* tokio-tls (0.2.1)
* tokio-uds (0.2.5)
...and updates LICENSE files to 2019.
2019-01-06 23:25:55 -08:00
Carl Lerche and GitHub
74c73b218e
Revert "util: implement stream debounce combinator ( #747 )" ( #834 )
...
This reverts commit 7a49ebb65e .
The commit conflicted with another change that was merged, causing CI to fail. The public API
also requires a bit more refinement (#833 ) and Tokio crates need to be released.
2019-01-06 16:56:49 -08:00
Carl Lerche and Toby Lawrence
78d1fe0eb0
ci: limit min rust version to cargo check ( #829 )
2019-01-05 10:52:26 -05:00
Carl Lerche and GitHub
39dc5706b7
travis: remove commented out code. ( #828 )
...
The commented out lines are no longer relevant and will not be brought
back.
2019-01-03 22:04:09 -08:00
Carl Lerche and Sean McArthur
cbecb87797
executor: fix build ( #825 )
...
Two unrelated PRs to the same file resulted in a broken build. This
patch fixes the build by including `Arc`.
2019-01-03 11:26:58 -08:00
Carl Lerche and GitHub
f0bdf1980c
threadpool: remove unused fn ( #822 )
...
The unused lint on nightly has discovered a new unused fn.
2019-01-03 09:34:37 -08:00
Carl Lerche and Toby Lawrence
b3e57b60d0
examples: remove reference to tokio-core ( #780 )
2018-11-28 14:55:31 -05:00
Carl Lerche and GitHub
b117fc1d65
Bump version to v0.1.13 ( #771 )
...
This also bumps the following sub crate versions:
* tokio-current-thread (0.1.4)
* tokio-reactor (0.1.7)
* tokio-signal (0.2.7)
* tokio-threadpool (0.1.9)
* tokio-timer (0.2.8)
* tokio-udp (0.1.3)
* tokio-uds (0.2.4)
2018-11-21 17:11:31 -08:00
Carl Lerche and GitHub
ed3ece266b
current-thread: fix shutdown on idle ( #763 )
...
When spawning using `Handle` while on the executor, tasks were being
double counted. This prevented the number of active tasks to reach zero,
thus preventing the executor from shutting down.
This changes `spawn` to check if being called from the executor
**before** incrementing the number of active tasks.
Fixes #760
2018-11-20 09:17:07 -08:00
Carl Lerche and GitHub
477fa5580a
ci: Don't deploy docs if $TARGET is set ( #762 )
2018-11-19 21:22:28 -08:00
Carl Lerche and GitHub
dc4a29359f
io: allow deprecated code in length_delimited test ( #759 )
...
This file is testing deprecated code, so it should be permitted to
access deprecated code.
2018-11-19 14:11:46 -08:00
Carl Lerche and GitHub
51e36e41bc
Add tokio-buf and a BufStream trait ( #611 )
...
The `BufStream` trait provides an improved API for working with
asynchronous streams of bytes compared to `Stream<Item = [u8]>`
2018-10-29 13:43:48 -07:00
Carl Lerche and Stjepan Glavina
d011b92b9a
rt: fix Runtime::reactor() as used by tokio-core ( #721 )
...
* rt: fix `Runtime::reactor()` as used by tokio-core
Up until Tokio v0.1.11, the handle returned by `Runtime::reactor()`
pointed to a reactor instance running in a background thread. The thread
was eagerly spawned.
As of v0.1.12, a reactor instance is created per runtime worker thread.
`Runtime::reactor()` was deprecated and updated to point to the reactor
for one of the worker threads.
A problem occurs when attempting to use the reactor before spawning a
task. Worker threads are spawned lazily, which means that the reactor
referenced by `Runtime::reactor()` is not yet running.
This patch changes `Runtime::reactor` back to a dedicated reactor
running on a background thread. However, the background thread is now
spawned lazily when the deprecated function is first called.
Fixes #720
* Fix comment
Co-Authored-By: carllerche <[email protected] >
2018-10-25 11:23:54 +02:00
Carl Lerche and GitHub
f929576f0e
Bump version to 0.1.12 ( #718 )
...
Also bumps the following sub-crates:
* tokio-fs (0.1.4)
* tokio-io (0.1.10)
* tokio-signal (0.2.6)
* tokio-threadpool (0.1.8)
* tokio-uds (0.2.3)
2018-10-23 22:00:49 -07:00
Carl Lerche and GitHub
2c85cd0991
Bump version to v0.1.11 ( #675 )
...
This fixes the dependency on `tokio-async-await` to not be scoped to
unix platforms.
Fixes #673
2018-09-28 11:32:52 -07:00
Carl Lerche
1e45237a28
Bump tokio-uds to v0.2.2
2018-09-27 20:05:23 -07:00
Carl Lerche and GitHub
b47ad24268
Bump version to v0.1.10, fixing minimal versions ( #671 )
...
Some minimal versions were not correctly updated.
Also updates:
* tokio-current-thread (v0.1.3).
2018-09-27 13:00:53 -07:00
Carl Lerche and GitHub
cab9a44e01
Bump version to v0.1.9 ( #666 )
...
This also includes bumps to subcrates.
* tokio-async-await (0.1.4)
* tokio-codec (0.1.1)
* tokio-current-thread (0.1.2)
* tokio-executor (0.1.5)
* tokio-io (0.1.9)
* tokio-reactor (0.1.6)
* tokio-tcp (0.1.2)
* tokio-threadpool (0.1.7)
* tokio-timer (0.2.7)
2018-09-26 22:32:51 -07:00
Carl Lerche and GitHub
964afb2ce3
split facade modules into separate files ( #665 )
2018-09-26 15:28:57 -07:00
Carl Lerche and GitHub
2f690d30bc
async-await: track nightly changes ( #661 )
...
The `tokio-async-await` crate is no longer a facade. Instead, the `tokio` crate
provides a feature flag to enable async/await support.
2018-09-26 10:10:47 -07:00
Carl Lerche and GitHub
ffd73a64e7
async-await: streaming hyper body example ( #656 )
...
Add reading the hyper body in the async/await example.
2018-09-21 19:58:46 -07:00
Carl Lerche and GitHub
4019198706
Add some missing future::Executor implementations ( #563 )
...
This adds an implementation of future::Executor for
`executor::DefaultExecutor` and `runtime::current_thread::Handle`.
2018-09-17 22:23:48 -07:00
Carl Lerche
cc40a4e7f0
Revert "Add max line length to LinesCodec ( #590 )"
...
This reverts commit 4ae6c997ee .
2018-09-12 10:34:37 -07:00
Carl Lerche and Toby Lawrence
16664189c1
async-await: move examples into dedicated crate ( #608 )
...
This works around a bug in the cargo renaming feature as well as allows
the use of `[patch]` in the `Cargo.toml`.
2018-09-06 13:36:59 -04:00
Carl Lerche and GitHub
6828870608
async-await: bump version to v0.1.2 ( #619 )
2018-09-04 15:02:15 -07:00
Carl Lerche and GitHub
97618746de
readme: fix section ordering ( #600 )
2018-08-30 14:46:40 -07:00