Kornel
9af48b08c7
Fix fuzz compilation error ( #454 )
2020-03-09 14:06:57 -04:00
Sean McArthur
c5880076d5
rustfmt some test cases
2020-01-29 15:55:28 -08:00
Sean McArthur
74d02933a5
Fix warnings about deprecated Error::description
2020-01-29 15:55:28 -08:00
Sean McArthur
881832cde9
Rename unstable-stream feature to stream ( #433 )
2019-12-03 10:38:50 -08:00
Sean McArthur
eab9c0b410
Update to http 0.2 ( #432 )
2019-12-02 16:22:26 -08:00
Sean McArthur
4398e169e8
Update to Tokio 0.2 ( #428 )
2019-11-27 14:53:57 -08:00
Sean McArthur
86e53054a6
Change ReserveCapacity to expanded FlowControl type ( #423 )
...
- Adds `FlowControl::available_capacity` method.
- Adds `FlowControl::used_capacity` method.
2019-10-08 11:28:15 -07:00
Sean McArthur
4c1d797712
Add ability to adjust INITIAL_WINDOW_SIZE setting on an existing connection ( #421 )
2019-10-07 15:29:23 -07:00
Sean McArthur
367206bfa1
Decode debug_data in GOAWAY frames
2019-10-04 12:45:22 -07:00
Lucio Franco
9c5bc03908
Update tokio alpha.6
2019-10-01 06:41:28 -07:00
Aaron Hill
b4c129c99d
chore(dependencies): update tokio to 0.2.0-alpha.5 ( #409 )
2019-09-20 13:43:03 -07:00
Michael Beaumont
fac165e451
Add server support for push ( #327 )
...
Closes #291 , closes #185
2019-09-16 11:30:58 -07:00
Sean McArthur
0527f5b72a
Rename 'stream' feature to 'unstable-stream'
2019-09-12 12:44:44 -07:00
Sean McArthur
678c90eb0a
Update futures and tokio alphas
2019-08-29 15:44:26 -07:00
Gurwinder Singh
85b1f669c0
chore: async_await is stable on nightly
2019-08-21 11:10:03 -07:00
Sean McArthur
b2af3d4b28
Change trailers() to return Result<Option> instead of Option<Result>
2019-08-20 17:32:06 -07:00
Sean McArthur
a1db5428db
Make Stream impls part of optional 'stream' cargo feature ( #397 )
2019-08-20 16:01:03 -07:00
Gurwinder Singh
f46840f3fa
chore: cargo fmt, clippy
2019-08-16 22:27:39 -07:00
Gurwinder Singh
b039ef25bc
Make handshake an async fn; other cleanup
2019-08-16 18:47:47 -07:00
Gurwinder Singh
ad7ffa795f
Updated as per review comments
2019-08-16 18:47:47 -07:00
Gurwinder Singh
517077c698
Update h2-fuzz to std-future
2019-08-16 18:47:47 -07:00
Gurwinder Singh
97a4c8049c
Update h2-tests to std-future
2019-08-16 18:47:47 -07:00
Gurwinder Singh
529ef4cd40
Update h2-support to std-future
2019-08-16 18:47:47 -07:00
Jakub Beránek
db6b841e67
Update crate to Rust 2018 ( #383 )
2019-07-23 10:18:43 -07:00
Sean McArthur
ab52cf9b30
Send RST_STREAM of STREAM_CLOSED instead of GOAWAY if stream may have been forgotten
2019-06-28 12:48:42 -07:00
Sean McArthur
3e345ac7b6
tests: reduce boilerplate of sending GET requests
...
This adds a `SendRequestExt` trait to h2-support, with a `get` method
that does a lot of the repeated request building stuff many test cases
were doing.
As a first step, the cleans up stream_states tests to use it.
2019-06-26 16:11:19 -07:00
Sean McArthur
383593a01e
allow servers to receive requests without an :authority header
2019-06-17 12:58:50 -07:00
Alex Touchet
e13645c091
Update repo URLs ( #370 )
2019-06-04 23:06:13 -07:00
Sean McArthur
b8f1f0ccf1
Prevent trying to assign capacity to streams that were just reset
2019-05-31 14:56:16 -07:00
Igor Gnatenko
45c4e0336f
chore: Update string to 0.2 ( #363 )
...
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com >
2019-05-31 09:19:20 -07:00
Sean McArthur
a3e59eb7e2
Prevent server Connection from returning same error after calling abrupt shutdown ( #352 )
2019-04-03 11:41:56 -07:00
Sean McArthur
492f4e7f11
Make 'pending reset' streams not count towards active streams
2019-03-12 17:17:02 -07:00
Sean McArthur
feff97905f
Notify RecvStream tasks if SendStream sends a local reset
2019-03-12 17:17:02 -07:00
Sean McArthur
e3a73f726e
Add user PING support ( #346 )
...
- Add `share::PingPong`, which can send `Ping`s, and poll for the `Pong`
from the peer.
2019-02-18 15:59:11 -08:00
Eliza Weisman
d6e1fbeed8
Fix race in stream ref count ( #338 )
...
Fixes #326
2019-01-11 22:41:35 -08:00
Sean McArthur
c7d4182ffe
Release closed streams capacity back to connection ( #334 )
...
Previously, any streams that were dropped or closed while not having
consumed the inflight received window capacity would simply leak that
capacity for the connection. This could easily happen if a `RecvStream`
were dropped before fully consuming the data, and therefore a user would
have no idea how much capacity to release in the first place. This
resulted in stalled connections that would never have capacity again.
2018-12-05 09:44:20 -08:00
Sean McArthur
e656c42353
fix inverted split for DATA frame padding ( #330 )
2018-11-05 10:20:09 -08:00
Geoffry Song
4321caf6b3
Augment the fuzzer to open multiple concurrent streams. ( #328 )
...
This is how I found #319 and #320 .
2018-10-29 14:07:08 -07:00
Michael Beaumont
6b23542a55
Add client support for server push ( #314 )
...
This patch exposes push promises to the client API.
Closes #252
2018-10-16 12:51:08 -07:00
Geoffry Song
6d8554a23c
Reassign capacity from reset streams. ( #320 )
...
I believe this was an oversight - a stream that is reset can still have some
capacity assigned to it (e.g. if said capacity was assigned in the same poll as
the reset), which should be redistributed.
2018-10-16 12:14:42 -07:00
Robert Ying
b116605560
Check whether the send side is not idle, not the recv side ( #313 )
...
* Check whether the send side is not idle, not the recv side
* Ensure sure we're handling window updates for the right side
* Add failing test
2018-10-16 12:03:56 -07:00
Geoffry Song
ea8b8ac2fd
Avoid prematurely unlinking streams in send_reset, in some cases. ( #319 )
...
Because `send_reset` called `recv_err`, which calls `reclaim_all_capacity`,
which eventually calls `transition(stream, ..)` -- all of which happens _before_
the RESET frame is enqueued -- it was possible for the stream to get unlinked
from the store (if there was any connection-level capacity to reassign). This
could then cause the stream to get "leaked" on drop/EOF since it would no longer
be iterated.
Fix this by delaying the call to `reclaim_all_capacity` _after_ enqueueing the
RESET frame.
A test demonstrating the issue is included.
2018-10-16 11:59:22 -07:00
Michael Beaumont
586106adf2
Fix push promise frame parsing ( #309 )
2018-09-17 14:55:37 -07:00
Eliza Weisman
2b960b897d
Add Reset::INTERNAL_ERROR helper to test support ( #308 )
...
Signed-off-by: Eliza Weisman <eliza@buoyant.io >
2018-09-13 16:33:44 -07:00
Sean McArthur
12028cc418
fix panic when calling reserve_capacity after connection closes ( #302 )
2018-08-08 15:43:47 -07:00
Geoffry Song
d2aa9197f9
Fix the handling of incoming SETTINGS_INITIAL_WINDOW_SIZE. ( #299 )
2018-08-03 16:00:13 -07:00
Sean McArthur
c564273986
fix graceful shutdown to close once idle ( #296 )
2018-07-30 21:42:00 -07:00
Geoffry Song
fdfb873438
Prevent pending_open streams from being released. ( #295 )
...
* Prevent `pending_open` streams from being released.
This fixes a panic that would otherwise occur in some cases. A test
demonstrating said panic is included.
* Clear the pending_open queue together with everything else.
2018-07-23 15:41:54 -07:00
Carl Lerche
df69c0455a
Fix spurrious test failure ( #288 )
...
There was a race condition in the test where the server connection
sometimes closed before the final client opereation. This triggered an
unwrap in the test.
This patch updates the test to ensuree that the mock server connection
stays open until the client test is complete.
2018-06-18 11:20:18 -07:00
Arvid E. Picciani
74a5e072fe
Fix tight loop on aborted connection ( #285 )
...
When the underlying IO returns 0 on read, we must stop polling it since
it's closed. Otherwise we'll be stuck in a tight loop.
this fixes https://github.com/sfackler/rust-openssl/issues/949
2018-06-15 16:04:13 -07:00