4605 Commits
Author SHA1 Message Date
Rick Richardson 2cb600bd19 changed CodecUdp::decode to return Self::In instead of Option<Self::In> 2016-11-22 08:29:02 -08:00
Alex CrichtonandGitHub b2ac1d8f93 Merge pull request #111 from tailhook/no_split
Remove `Framed::split` because it's now in futures crate
2016-11-21 14:21:25 -06:00
Rick Richardson b12d32ce1c made send_dgram move self, made FramedUdp::new private, other clean-ups and tweaks 2016-11-21 11:28:25 -08:00
Paul Colomiets e27abd3841 Remove Framed::split because it's now in futures 2016-11-21 19:33:07 +02:00
kibbles dcf994d517 Updated 'encode' return value to Result, removed parameter passing buffer 2016-11-20 21:44:23 -05:00
Rick Richardson ab3915d47d forgot a = 2016-11-20 11:55:57 -08:00
Rick Richardson 161811de8b moved udp test to examples, optimized buffer handling 2016-11-20 11:40:43 -08:00
Rick Richardson 71d8672aab implemented moste of udp frames test 2016-11-20 09:08:03 -08:00
Alex Crichton 4994f762a9 Fix benchmark on nightly 2016-11-19 10:02:12 -08:00
Alex Crichton 1305f105cb Update travis token 2016-11-19 09:40:33 -08:00
Rick Richardson 592a99bca4 completed basic implementation of FramedUdp for streams and sink 2016-11-19 09:05:00 -08:00
Alex Crichton 0f49a69a06 Deprecate the channel module
The `futures::sync::mpsc` module should entirely supplant it.
2016-11-18 15:20:39 -08:00
Alex CrichtonandGitHub bd86bab42d Merge pull request #107 from norcalli/patch-1
Grammar in README.md
2016-11-18 09:05:09 -06:00
Ashkan KianiandGitHub bc16ad039d Grammar in README.md 2016-11-17 22:20:36 -08:00
Alex CrichtonandGitHub 1bc3899016 Merge pull request #104 from danburkert/master
Clean up Sink implementation on Framed
2016-11-16 22:41:24 -06:00
Dan Burkert 46dd38b7d7 Clean up Sink implementation on Framed
This commit makes a few changes to the Sink implementation on Framed:

* Backpressure is implemented for `start_send`. If the write buffer is
  over 8KiB and can't be flushed, no new items are accepted.
* 0 length writes to the upstream transport are translated into a
  `WriteZero` error, as with `io::Write::write_all`. `write_all` checks
  for and ignores `Interrupted` errors, but I do not think this is
  necessary for non-blocking writes.
* In `poll_complete`, the upstream transport is not flushed until
  *after* writing the entire write buffer.
2016-11-16 18:42:30 -08:00
Alex CrichtonandGitHub 89a9ab6d34 Merge pull request #102 from aturon/decoder-encoder
Reintroduce "decoder" and "encoder" for Decode and Encode, merging them into Codec
2016-11-15 10:42:34 -06:00
Aaron Turon c353de13fc Reintroduce "decoder" and "encoder" for Decode and Encode, and merge the
traits into `Codec`

A previous commit refactored such that `Encode` and `Decode` are
implemented directly on the types being encoded or decoded. This was
thought to be less expressive but more convenient than having a separate
notion of a (stateful) encoder or decoder.

However, there are certain situations where the approach is just too
limiting: you're required to implemented `Decode` and `Encode` for types
you don't "own" and can't newtype.

This commit moves back to a setup where `Self` represents the
encoder/decoder state; it also merges the two traits into a single
`Codec` trait, since they are currently always used together.
2016-11-15 08:28:26 -08:00
Alex CrichtonandGitHub 21851dd25c Merge pull request #103 from bheesham/failing-tests
Remove references to EasyFramed and easy module.
2016-11-15 00:07:54 -06:00
Bheesham Persaud 06a4c5e2d5 Remove references to EasyFramed and easy module. 2016-11-15 00:42:46 -05:00
Alex Crichton f6241b6330 Touch up Reactor::poll 2016-11-11 14:27:49 -08:00
Alex Crichton 092574b7de Merge branch 'aphs-core-stream' of https://github.com/aidanhs/tokio-core 2016-11-11 14:06:03 -08:00
Alex Crichton 6e7410567c Typo 2016-11-11 11:26:07 -08:00
Alex Crichton 3d69a8b7d0 Add a benchmark for futures channel latency 2016-11-10 20:10:02 -08:00
Alex Crichton bbea632e04 Touch up some of the benchmarks 2016-11-10 19:50:44 -08:00
Alex Crichton 6b888ea20f Merge branch 'benches' of https://github.com/dpc/tokio-core 2016-11-10 19:33:27 -08:00
Dawid Ciężarkiewicz 7ae124077e Improve latency benchmarks. 2016-11-10 14:21:37 -08:00
Aaron Turon 17faf329e0 Add note about how to get a Framed 2016-11-10 09:46:23 -08:00
Aaron Turon 91347f44a5 Remove mentions of EasyFramed 2016-11-10 09:45:09 -08:00
Alex CrichtonandGitHub da3544f468 Merge pull request #97 from k4rtik/patch-1
Correct client invocation example
2016-11-09 10:11:02 -07:00
Kartik SinghalandGitHub be7992e639 This works only for IPv4 addresses 2016-11-09 12:10:07 -05:00
Kartik SinghalandGitHub 71baa4967d Correct client invocation example 2016-11-09 11:41:37 -05:00
Dawid Ciężarkiewicz 307ba7a867 travis: Run cargo bench on nightly 2016-11-08 19:09:26 -08:00
Dawid Ciężarkiewicz d1a2a9d324 Add channel_lantency and fix previous issues.
Warmup round before actually performing the test seems to eliminate
variance.
2016-11-08 19:01:37 -08:00
Alex Crichton 45fc13071c Fix line-frames test 2016-11-08 17:59:37 -08:00
Alex CrichtonandGitHub c459b9835c Merge pull request #95 from aturon/sink
Refactor framing to use Streams and Sinks
2016-11-08 16:53:21 -07:00
Aaron Turon 36e3dbf418 Refactor framing to use Streams and Sinks
- Gets rid of `easy` module, instead providing framing support directly
  in the `io` module.

- In particular, adds a framing adapter directly to the `Io` trait,
  which gives you a Stream + Sink object. That object can then be
  `split` into separate `Stream` and `Sink` objects if needed.

- Deprecates the `FramedIo` trait; that's now just Stream + Sink.

- Updates the line framing test to use the stream/sink combinators.
2016-11-08 15:47:13 -08:00
Alex CrichtonandGitHub 3eac142e5f Merge pull request #93 from danburkert/master
Depend directly on git version of futures-rs
2016-11-08 09:32:32 -07: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
Aaron TuronandGitHub 60796f40fd Merge pull request #82 from aturon/cleanup-for-0.1
Polish tokio-core in prep for overall 0.1 release
2016-11-06 15:26:01 -08:00
Aidan Hobson Sayers fce913c04d Add turn on Core to allow single event loop iterations 2016-11-06 22:11:18 +00:00
Alex Crichton 4744a2e48b No more need for lazy in chat example 2016-11-05 13:36:49 -07:00
Alex CrichtonandGitHub 6dc8333fb2 Merge pull request #92 from dwrensha/typo
Fix some typos.
2016-11-05 13:33:01 -07:00
David Renshaw f96d37ccf3 Fix some typos. 2016-11-05 16:29:54 -04:00
Alex CrichtonandGitHub 79136ca211 Merge pull request #91 from dwrensha/simplify-echo
Simply echo example: split() can now happen on the main task.
2016-11-05 12:49:37 -07:00
David Renshaw 556143b7c6 Simply echo example: split() can now happen on the main task. 2016-11-05 15:16:29 -04:00
Alex Crichton 614887b8c1 Implement split() with BiLock 2016-11-05 11:14:54 -07:00
Dawid Ciężarkiewicz 8e7ed8ae21 Add some benchmarks.
To be moved into separate repo.
2016-11-04 22:06:08 -07:00
Alex Crichton 0a3dc0bb75 Add a method to manually deregister an I/O object
Typically this happens automatically as the `E` in `PollEvented<E>` is an owned
reference (e.g. a `TcpStream`) where dropping that will close the resource,
automatically unregistering it from the event loop. In some situations, however,
this isn't always the case, so the deregistering needs to happen manually.
2016-11-04 09:12:00 -07:00
Alex Crichton 4615c3ea78 Touch up the echo examples 2016-11-02 16:57:27 -07:00