100 Commits
Author SHA1 Message Date
Alex CrichtonandIvan Petkov 32c928b607 process: Bump to 0.1.5 2019-06-24 16:56:51 -07:00
Alex CrichtonandIvan Petkov 82aeae147d process: Update dev-dependencies 2019-06-24 16:56:51 -07:00
Alex CrichtonandIvan Petkov f48944c1fb process: Update winapi to 0.3 2019-06-24 16:56:51 -07:00
Alex CrichtonandIvan Petkov dbc185cd3a process: Tweak travis config 2019-06-24 16:56:51 -07:00
Alex CrichtonandIvan Petkov c205e2c358 process: Fix copy/paste 2019-06-24 16:56:51 -07:00
Alex CrichtonandIvan Petkov acec6356ee process: Clarify wording of license information in README. 2019-06-24 16:56:51 -07:00
Alex CrichtonandIvan Petkov c11eec3908 process: Bump to 0.1.4 2019-06-24 16:56:50 -07:00
Alex CrichtonandIvan Petkov 69295fac1e process: Add an Errors section to status_async2 2019-06-24 16:56:50 -07:00
Alex CrichtonandIvan Petkov 4d11784b01 process: Tweak docs and macro imports 2019-06-24 16:56:50 -07:00
Alex CrichtonandIvan Petkov c101e9e11d process: Use appveyor to download rustup 2019-06-24 16:56:49 -07:00
Alex CrichtonandIvan Petkov 5c5f793ef0 process: Bump to 0.1.3 2019-06-24 16:56:49 -07:00
Alex CrichtonandIvan Petkov 1384b31d60 process: Update to tokio-io, mio, and tokio-core changes 2019-06-24 16:56:49 -07:00
Alex CrichtonandIvan Petkov 521dc94021 process: Bump to 0.1.2 2019-06-24 16:56:49 -07:00
Alex CrichtonandIvan Petkov ed23a06fb1 process: Update doc urls and metadata 2019-06-24 16:56:49 -07:00
Alex CrichtonandIvan Petkov 1aee22505a process: Remove caveat about tokio-signal 2019-06-24 16:56:49 -07:00
Alex CrichtonandIvan Petkov 01b5bf6761 process: Use join3 instead of two joins 2019-06-24 16:56:49 -07:00
Alex CrichtonandIvan Petkov 6638cbc80e process: Update README 2019-06-24 16:56:49 -07:00
Alex CrichtonandIvan Petkov 22bc5e2738 process: Bump back to 0.1.1 2019-06-24 16:56:49 -07:00
Alex CrichtonandIvan Petkov a0c162c0ff process: Hide compat from docs 2019-06-24 16:56:48 -07:00
Alex CrichtonandIvan Petkov ca51ae9651 process: Add back in 0.1.0 compatibility layer 2019-06-24 16:56:48 -07:00
Alex CrichtonandIvan Petkov f3f99b723f process: Bump to 0.2.0 2019-06-24 16:56:48 -07:00
Alex CrichtonandIvan Petkov f20e7a4d2b process: Bump minimum version of tokio-core 2019-06-24 16:56:48 -07:00
Alex CrichtonandIvan Petkov 4a92c4d4b6 process: Tweak drop_kills test 2019-06-24 16:56:48 -07:00
Alex CrichtonandIvan Petkov 9680ecc109 process: Share init in tests 2019-06-24 16:56:48 -07:00
Alex CrichtonandIvan Petkov 124391e42b process: Add a simple wait_with_output test 2019-06-24 16:56:48 -07:00
Alex CrichtonandIvan Petkov 6150be189f process: Rewrite the crate with an extension trait 2019-06-24 16:56:48 -07:00
Alex CrichtonandIvan Petkov a0cc60153a process: Fix nightly tests 2019-06-24 16:56:47 -07:00
Alex CrichtonandIvan Petkov 7f3f868b66 process: Add Windows support for stdio streams 2019-06-24 16:56:47 -07:00
Alex CrichtonandIvan Petkov b16a8613b1 process: Test on stable 2019-06-24 16:56:47 -07:00
Alex CrichtonandIvan Petkov 5664660156 process: Fix tests on nightly 2019-06-24 16:56:47 -07:00
Alex CrichtonandIvan Petkov 4416ea07d8 process: Update travis token 2019-06-24 16:56:47 -07:00
Alex CrichtonandIvan Petkov 56222c588b process: pass --target on appveyor 2019-06-24 16:56:46 -07:00
Alex CrichtonandIvan Petkov 72179d49c5 process: Update to crates.io versions of deps 2019-06-24 16:56:46 -07:00
Alex CrichtonandIvan Petkov 073a1a251a process: Track tokio-core master 2019-06-24 16:56:46 -07:00
Alex CrichtonandIvan Petkov 31c81faf96 process: Add appveyor to readme 2019-06-24 16:56:46 -07:00
Alex CrichtonandIvan Petkov 5e68b0d51d process: Don't build on stable, start w/ beta for now 2019-06-24 16:56:46 -07:00
Alex CrichtonandIvan Petkov 4bd07ac6aa process: Add metadata info 2019-06-24 16:56:46 -07:00
Alex CrichtonandIvan Petkov f4f7bb232e process: Fix a test on Windows 2019-06-24 16:56:46 -07:00
Alex CrichtonandIvan Petkov 413e1b78a7 process: Fix a segfault on windows 2019-06-24 16:56:46 -07:00
Alex CrichtonandIvan Petkov 649fa13a15 process: Remove unused imports 2019-06-24 16:56:45 -07:00
Alex CrichtonandIvan Petkov eef655f3b1 process: Add a Windows implementation 2019-06-24 16:56:45 -07:00
Alex CrichtonandIvan Petkov 97508096fa process: Initial commit 2019-06-24 16:56:41 -07:00
Alex CrichtonandCarl Lerche 7a24ed7509 signal: Bump to 0.1.5 2018-09-10 11:30:02 -07:00
Alex CrichtonandCarl Lerche 9c9760cfbb signal: Fix a bug with most recent tokio-core release 2018-09-10 11:30:02 -07:00
Alex CrichtonandCarl Lerche 5ecd929b1a signal: Bump to 0.1.4 2018-09-10 11:30:02 -07:00
Alex CrichtonandCarl Lerche 8ddebf4309 signal: Fix compile on Android
Closes alexcrichton/tokio-signal#19
2018-09-10 11:30:02 -07:00
Alex CrichtonandCarl Lerche 0df1882f21 signal: Bump to 0.1.3 2018-09-10 11:30:02 -07:00
Alex CrichtonandCarl Lerche 4fa1b2b58c signal: Update to winapi 0.3 2018-09-10 11:30:02 -07:00
Alex CrichtonandCarl Lerche a4895fe364 signal: Tweak travis config 2018-09-10 11:30:02 -07:00
Alex CrichtonandCarl Lerche 7ab97f99c8 signal: Clarify wording of license information in README.
This text historically was copied verbatim from rust-lang/rust's own README [1]
with the intention of licensing projects the same as rustc's own license, namely
a dual MIT/Apache-2.0 license. The clause about "various BSD-like licenses"
isn't actually correct for almost all projects other than rust-lang/rust and
the wording around "both" was slightly ambiguous.

This commit updates the wording to match more precisely what's in the
standard library [2], namely clarifying that there aren't any BSD-like licenses
in this repository and that the source is licensable under either license, at
your own discretion.

[1]: https://github.com/rust-lang/rust/tree/f0fe716dbcbf2363ab8f929325d32a17e51039d0#license
[2]: https://github.com/rust-lang/rust/blob/f0fe716dbcbf2363ab8f929325d32a17e51039d0/src/libstd/lib.rs#L5-L9
2018-09-10 11:30:01 -07:00
Alex CrichtonandCarl Lerche 9bf3228f73 signal: Add an example for waiting on two signals
Relies on `Stream::select` to merge streams.

Closes alexcrichton/tokio-signal#16
2018-09-10 11:30:01 -07:00
Alex CrichtonandCarl Lerche 010c2223ca signal: Touch up the sighup-example slightly 2018-09-10 11:29:59 -07:00
Alex CrichtonandCarl Lerche c601f68c9f signal: Add some examples to crate docs
Closes alexcrichton/tokio-signal#11
2018-09-10 11:29:59 -07:00
Alex CrichtonandCarl Lerche 78ca103f3a signal: Update to tokio-io 2018-09-10 11:29:59 -07:00
Alex CrichtonandCarl Lerche 8e58a9d8d4 signal: Add badges/categories 2018-09-10 11:29:58 -07:00
Alex CrichtonandCarl Lerche 4afef9391a signal: Bump to 0.1.2 2018-09-10 11:29:58 -07:00
Alex CrichtonandCarl Lerche b6bacc1ca3 signal: Clarify a comment 2018-09-10 11:29:58 -07:00
Alex CrichtonandCarl Lerche 955cd2836d signal: Clear out old Signal on drop 2018-09-10 11:29:58 -07:00
Alex CrichtonandCarl Lerche 70e4ed67ad signal: Touch up more impls and comments 2018-09-10 11:29:58 -07:00
Alex CrichtonandCarl Lerche 699b9ab89e signal: Handle a few more errors 2018-09-10 11:29:57 -07:00
Alex CrichtonandCarl Lerche ba0921a01d signal: Various cleanups:
* Drop nix/lazy_static
* Use previously registered handlers
* Handle some more errors
2018-09-10 11:29:57 -07:00
Alex CrichtonandCarl Lerche 468b037e4e signal: Update docs urls and such 2018-09-10 11:29:56 -07:00
Alex CrichtonandCarl Lerche b33ae3cdd6 signal: Remove deprecated API usage on Windows 2018-09-10 11:29:56 -07:00
Alex CrichtonandCarl Lerche 4519ac8e17 signal: Remove use of deprecated APIs on Unix 2018-09-10 11:29:56 -07:00
Alex CrichtonandCarl Lerche 92b93ee176 signal: Bump to 0.1.1 2018-09-10 11:29:56 -07:00
Alex CrichtonandCarl Lerche 635149e3ab signal: Ignore errors in signal handler
Closes alexcrichton/tokio-signal#3
2018-09-10 11:29:56 -07:00
Alex CrichtonandCarl Lerche e28c350e31 signal: Update travis token 2018-09-10 11:29:56 -07:00
Alex CrichtonandCarl Lerche f3f8ee431e signal: Remove SIGKILL reexport 2018-09-10 11:29:55 -07:00
Alex CrichtonandCarl Lerche 61c4047c6a signal: Add symbolic reexports for common signals
Means you don't have to import libc!

Closes alexcrichton/tokio-signal#1
2018-09-10 11:29:55 -07:00
Alex CrichtonandCarl Lerche 3486a61a0f signal: Update deps to point to crates.io 2018-09-10 11:29:55 -07:00
Alex CrichtonandCarl Lerche 8291c3d462 signal: Start adding windows support 2018-09-10 11:29:55 -07:00
Alex CrichtonandCarl Lerche 1b6893b6f6 signal: Track tokio-core master 2018-09-10 11:29:55 -07:00
Alex CrichtonandCarl Lerche eca7f0760f signal: Initial commit 2018-09-10 11:29:50 -07:00
Alex Crichton fbdf04f604 More OSX fixes 2018-01-25 07:32:55 -08:00
Alex Crichton a3c4aec127 Fix compile on OSX 2018-01-22 08:14:05 -08:00
Alex CrichtonandGitHub 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 CrichtonandCarl Lerche 826e27685c Delete the IoToken type (#83)
This was added oh-so-long ago and nowadays is just used by one consumer,
`PollEvented`. Let's just inline the already small implementation directly into
`PollEvented` which should make it easier to modify in the future as well
2018-01-18 10:48:59 -08:00
Alex Crichton 99fc38e0d6 Bump to 0.1.12 2018-01-08 09:51:05 -08:00
Alex CrichtonandCarl Lerche dac13c1df4 Use an events iterator rather than indexing (#82)
Eventually mio won't provide an indexable interface, so switch over to using the
iterator-based interface for now.
2018-01-05 08:47:01 -08:00
Alex CrichtonandCarl Lerche 555c97b313 Expand CI coverage and update README (#80)
Closes #64
2018-01-05 08:43:37 -08:00
Alex Crichton cde387d7e7 Touch up documentation for Reactor::turn 2017-12-19 14:18:28 -08:00
Alex CrichtonandCarl Lerche 571e322755 Return a Turn type from the turn method (#60)
This is mostly just future-proofing, the type doesn't actually do anything right
now.
2017-12-13 13:25:20 -06:00
Alex CrichtonandCarl Lerche 4ef772b2db Remove Handle argument from I/O constructors (#61)
This commit removes the `Handle` argument from the following constructors

* `TcpListener::bind`
* `TcpStream::connect`
* `UdpSocket::bind`

The `Handle` argument remains on the various `*_std` constructors as they're
more low-level, but this otherwise is intended to set forth a precedent of by
default not taking `Handle` arguments and instead relying on the global
`Handle::default` return value when necesary.
2017-12-12 18:32:50 -06:00
Alex CrichtonandCarl Lerche 849771ecfa Add a Handle::wakeup method (#59)
This method is intended to be used to wake up the reactor from a remote thread
if necessary, forcing it to return from a blocked call of `turn` or otherwise
prevent the next call to `turn` to from blocking.
2017-12-12 15:19:39 -06:00
Alex CrichtonandCarl Lerche a577bfc033 Remove the Reactor::run method (#58)
This commit removes the `Reactor::run` method which has previously been used to
execute futures and turn the reactor at the same time. The tests/examples made
heavy usage of this method but they have now all temporarily moved to `wait()`
until the futures dependency is upgraded. In the meantime this'll allow us to
further trim down the `Reactor` APIs to their final state.
2017-12-11 21:29:18 -06:00
Alex CrichtonandCarl Lerche 32f2750c2d Start adding a global event loop
This commit starts to add support for a global event loop by adding a
`Handle::default` method and implementing it. Currently the support is quite
rudimentary and doesn't support features such as shutdown, overriding the return
value of `Handle::default`, etc. Those will come as future commits.
2017-12-11 17:26:39 -06:00
Alex Crichton 108e1a2c1a Blanket rename Core to Reactor
This commit uses a script to rename `Core` to `Reactor` all at once, notably:

    find . -name '*.rs' | xargs sed -i 's/\bCore\b/Reactor/g'
2017-12-05 09:02:07 -08:00
Alex Crichton 46062794aa Tweak the PollEvented::deregister signature
This commit changes the `PollEvented::deregister` signature from

    fn deregister(self, handle: &Handle) -> io::Result<()>

to

    fn deregister(&self) -> io::Result<()>

Now that the handles are `Send` and `Sync` there's no longer any need to pass it
in (it's already stored in the `PollEvented` itself). Additionally this switches
to `&self` instead of `self` to allow reclamation of the internal resources if
necessary.
2017-12-05 08:54:48 -08: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
Alex Crichton e86fc4917a Change need_read and need_write to return an error
This commit is targeted at solving tokio-rs/tokio-core#12 and incorporates the
solution from tokio-rs/tokio-core#17. Namely the `need_read` and `need_write`
functions on `PollEvented` now return an error when the connected reactor has
gone away and the task cannot be blocked. This will typically naturally
translate to errors being returned by various connected I/O objects and should
help tear down the world in a clean-ish fashion.
2017-12-05 08:43:01 -08:00
Alex Crichton 8fcce957cd Rename networking constructors with _std
This commit renames the various constructors of networking types to have a
`_std` suffix instead of a smorgasboard of other suffixes, canonicalizing on
`_std` as the suffix for constructors which take the libstd corresponding types.
2017-12-05 08:24:26 -08:00
Alex Crichton 259996d805 Remove NEXT_LOOP_ID
This is no longer needed now that the public-facing `CoreId` has been removed
2017-12-05 08:19:47 -08:00
Alex Crichton 329bca15a6 Remove TcpListener::pending_accept field
No need for oneshot shenanigans as now we'll always have the `Handle` available
to us regardless of what thread we're on to associate a new socket
2017-12-05 08:17:08 -08:00
Alex Crichton 7c768fc046 Remove the Remote type
The `Handle` type is now `Send` and `Sync` so the `Remote` type no longer needs
to exist.
2017-12-05 08:15:26 -08:00
Alex Crichton b7ff130a0d Tweak travis config 2017-11-30 18:44:36 -08:00
Alex CrichtonandGitHub 701488e6a1 Merge pull request #279 from asomers/futures
bump futures to 0.1.16
2017-11-17 14:14:11 +01:00
Alex Crichton 1fe55b2b55 Don't unwrap accepted connections
Helps avoid spurious errors when testing.

Closes #277
2017-11-06 08:23:11 -08:00
Alex CrichtonandGitHub 6cca729f40 Merge pull request #30 from seamusabshere/patch-1
s/serde/tokio/ in README license section
2017-11-02 16:26:46 -04:00
Alex Crichton 25f30c91c4 Clarify wording of license information in README.
This text historically was copied verbatim from rust-lang/rust's own README [1]
with the intention of licensing projects the same as rustc's own license, namely
a dual MIT/Apache-2.0 license. The clause about "various BSD-like licenses"
isn't actually correct for almost all projects other than rust-lang/rust and
the wording around "both" was slightly ambiguous.

This commit updates the wording to match more precisely what's in the
standard library [2], namely clarifying that there aren't any BSD-like licenses
in this repository and that the source is licensable under either license, at
your own discretion.

[1]: https://github.com/rust-lang/rust/tree/f0fe716dbcbf2363ab8f929325d32a17e51039d0#license
[2]: https://github.com/rust-lang/rust/blob/f0fe716dbcbf2363ab8f929325d32a17e51039d0/src/libstd/lib.rs#L5-L9
2017-10-30 14:17:01 -07:00
Alex CrichtonandGitHub 0c5c5dfafe Merge pull request #271 from cramertj/simplify-udp
Simplify UdpSocket futures
2017-10-27 22:36:14 -04:00