Commit Graph

2620 Commits

Author SHA1 Message Date
stammw bd17b67427 Rewrite interop client with all-async syntax 2019-12-17 22:01:57 +01:00
stammw 6aea7873dd rename interop results and format from method 2019-12-17 22:01:57 +01:00
stammw e29ebb83c9 ALPN configuration for each interop endpoint 2019-12-17 22:01:57 +01:00
stammw 08dcf61d27 run interop client against all known endpoints by default 2019-12-17 22:01:57 +01:00
Benjamin Saunders 875de9f282 Remove datagram benchmarks
These don't make sense when sending always succeeds immediately. They should
return as a stand-alone benchmark that measures the number *received*.
2019-12-17 20:29:08 +01:00
Benjamin Saunders 07e1f33805 Simplified, synchronous datagram send API
Applications sending datagrams are expected to prioritize freshness, at
the cost of reliability if necessary. Blocking datagram sends when the
buffer is full is inconsistent with that, particularly if congestion
arises due to a low-priority bulk data stream. Instead, we should opt to
discard old data in favor of newly sent data. The significant API and
implementation simplification is a nice bonus.
2019-12-17 20:29:08 +01:00
Benjamin Saunders 6f52ac6252 Don't send application datagrams in Initial/Handshake packets 2019-12-13 20:39:53 +01:00
Benjamin Saunders 478ab6001f Fix a test name prefix collision 2019-12-13 20:39:53 +01:00
Benjamin Saunders ebf7ebdf6b Comment stream states 2019-12-13 20:39:53 +01:00
Benjamin Saunders 1efb36902d Fix multiple-counting of coalesced packet bytes 2019-12-13 20:39:53 +01:00
Benjamin Saunders a88e9edbba Fix hang in ReadExact future
A successful read of less than the desired buffer size would result in
`Poll::Pending` being returned without a waker having been registered.
2019-12-13 20:38:52 +01:00
Benjamin Saunders 889553fbdb Fix missing tokio feature in interop tool 2019-12-13 20:37:35 +01:00
Benjamin Saunders 866a1508a8 Remove inappropriate reexport 2019-12-10 08:26:39 +01:00
Benjamin Saunders 728b758bb8 Fix panic in anti-amplification corner case 2019-12-10 07:44:03 +01:00
Benjamin Saunders 19385470d4 Fix missing wakeup on datagram send 2019-12-09 09:33:56 +01:00
Benjamin Saunders b1aa20bec2 Tweak docs 2019-12-08 19:53:25 -08:00
Benjamin Saunders a29e37f363 Use tuple variants consistently in error enums
These are substantially more concise/less noisy to work with.
2019-12-08 19:53:25 -08:00
Benjamin Saunders a1b1941d87 Add missing reexports for types used by ConnectionError 2019-12-08 19:53:25 -08:00
est31 dd72e10499 Add PartialEq, Eq impls to errors throughout the library
A few errors were spared because they were using std::io::Error
internally.
2019-12-07 15:18:35 -08:00
stammw 79dc609c0a H3: bump ALPN to h3-24 2019-12-07 19:58:25 +01:00
stammw bb63196a4c H3: ignore reserved frames on concerned streams 2019-12-07 19:58:25 +01:00
stammw 3fc45b2231 H3: ignore reserved uni streams 2019-12-07 19:58:25 +01:00
stammw 8e3e91f6c6 H3: Reserved SettingsId get the same pattern as frames 2019-12-07 19:58:25 +01:00
stammw 3876672148 H3: forbid H2 reserved frame types 2019-12-07 19:58:25 +01:00
stammw bce5404326 H3: forbid settings item duplication 2019-12-07 19:58:25 +01:00
stammw e19d9c6bf1 H3: remove priority frames 2019-12-07 19:58:25 +01:00
stammw 0b1c567fdd H3: shorten server builder story 2019-12-05 15:48:19 +01:00
stammw c7504ad800 H3: keep only simple examples 2019-12-05 15:48:19 +01:00
stammw 16344f89bf H3: add async-only data stream interface for body reader 2019-12-05 15:48:19 +01:00
stammw e141526163 H3: rewrite introp client with the new API 2019-12-05 15:48:19 +01:00
stammw 9fd975afa3 H3: refactor server to use only BodyReader/Writer 2019-12-05 15:48:19 +01:00
stammw 4f5b196b5d H3: refactor client to API into one BodyReader 2019-12-05 15:48:19 +01:00
stammw 88adcbe891 H3: Remove unused local setttings from connection 2019-12-05 15:48:19 +01:00
stammw c8f86f8fc0 H3: First useful traces in client and connection 2019-12-05 15:48:19 +01:00
stammw 102a727629 H3: rewrite simple_client example 2019-12-05 15:48:19 +01:00
stammw 7e7262ab11 H3: shorten client builder story 2019-12-05 15:48:19 +01:00
Benjamin Saunders 0fe49b927f Keep a reusable receive buffer on the heap
Avoids zeroing on every receive and might improve cache friendliness.
2019-12-05 08:29:29 +01:00
dependabot-preview[bot] b7fbe25fec Update tracing-futures requirement from 0.1.0 to 0.2.0
Updates the requirements on [tracing-futures](https://github.com/tokio-rs/tracing) to permit the latest version.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-futures-0.1.0...tracing-futures-0.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-04 11:07:51 +01:00
Benjamin Saunders ae12d2d594 Don't generate StreamWritable events for dead streams 2019-12-04 09:58:40 +01:00
Dirkjan Ochtman c555eef59d Bump version numbers to 0.5.0 0.5.0 2019-12-03 09:09:27 -08:00
Dirkjan Ochtman e938231254 Clarify repository contents 2019-12-03 09:08:33 -08:00
Dirkjan Ochtman d51000003b Privatize more Header APIs 2019-12-03 13:05:37 +01:00
Dirkjan Ochtman 022e76165c Remove dependency on string crate 2019-12-03 13:05:37 +01:00
Dirkjan Ochtman 58aa76bead Upgrade to http 0.2 2019-12-03 13:05:37 +01:00
Timon 73b1011ba0 Fixed Clippy Warnings (#531)
* Fixed clippy errors

* removed statement
2019-12-02 19:31:32 +01:00
Dirkjan Ochtman a72ab73614 Sort dependencies again 2019-12-02 08:00:26 -08:00
daxpedda 7233455078 Update tokio, futures and bytes. (#528) 2019-12-02 10:42:05 +01:00
stammw 69a9545632 H3: simplify SendUni state machine 2019-11-30 20:34:46 +01:00
stammw 84e041939d H3: Better recv uni stream buffer space management 2019-11-30 20:34:46 +01:00
stammw bf4c5a2530 H3: fix formatting
... that are way too difficult to rebase
2019-11-30 20:34:46 +01:00