Commit Graph

38 Commits

Author SHA1 Message Date
Stephen Halter d5ee379972 Merge branch 'release/2.2' 2018-11-13 12:04:08 -08:00
Stephen Halter f223b4a663
Avoid possible tearing in HeartbeatManager.UtcNow (#3092) 2018-11-13 11:58:54 -08:00
Stephen Halter 6d375e9027
Wait for reads before advancing clock in Http2TimeoutTests (#3090)
Prior to this change, HTTP/2 read rate limit tests would fail when the stalled read started after the test started advancing the clock.
2018-11-13 11:33:48 -08:00
Stephen Halter 6fe99138ea Merge branch 'release/2.2' 2018-11-09 11:18:25 -08:00
Stephen Halter 4d2e68649f
Expect correct error message in HTTP/2 test (#3085) 2018-11-09 10:39:24 -08:00
Stephen Halter a1c1083798
[2.2] Fix race conditions in HTTP/2 tests (#3078) 2018-11-07 17:09:44 -08:00
Stephen Halter b3d72773b1
Fix race conditions in HTTP/2 tests (#3024) 2018-11-07 17:09:21 -08:00
Stephen Halter f2a383dc76
Don't count long tick intervals against rate measurements (#3070)
This might help address #3015

This only affects rate timeouts. Normal fixed timeouts might deserve the same treatment, but that would require some additional locking to ensure we don't modify the sentinel value.
2018-11-02 10:58:30 -07:00
Stephen Halter d50c0c13b9
Measure the rate of all HTTP/2 output (#3067)
Prior to this, only the response body counted toward the HTTP/2 response data rate. This PR aligns the HTTP/2 logic closer to the HTTP/1.x logic and measures the rate for all HTTP/2 response data.

This PR also accounts for all response bytes written, not just those that immediately induced backpressure.
2018-10-31 15:34:17 -07:00
Stephen Halter 395b681348
Add HTTP/2 request body data rate limit (#3051) 2018-10-26 10:46:46 -07:00
Chris Ross (ASP.NET) a8073167e7 Revert "Flush response headers #3031"
This reverts commit 277a5502fd.
2018-10-23 15:49:11 -07:00
Chris Ross (ASP.NET) 277a5502fd Flush response headers #3031 2018-10-19 18:00:24 -07:00
Chris Ross (ASP.NET) 23a4e11261 Send RST for canceled HTTP/2 writes #3007 2018-10-19 11:03:44 -07:00
Stephen Halter e5ec72c833
Add test to verify HTTP/2 preamble is included in keep-alive timeout (#3011)
#2900
2018-10-15 11:09:25 -07:00
Chris Ross 3a1cf72451
#3009 HTTP/2 Test stabalization (#3010) 2018-10-12 17:14:44 -07:00
Stephen Halter 1f2e704dd3
Implement MinResponseDataRate for HTTP/2 (#3003)
#2807
2018-10-12 13:15:46 -07:00
Chris Ross (ASP.NET) 081cef0934 Track aborted streams for a given grace period #2832 2018-10-11 12:55:26 -07:00
Stephen Halter 8bca6b3877
Add HTTP/2 keep-alive and request header timeouts (#2992) 2018-10-08 17:06:15 -07:00
Chris Ross (ASP.NET) daf6e1ecd7 Http/2 response trailers #622 2018-10-05 12:50:46 -07:00
Chris Ross (ASP.NET) 35d35f22a3 Disallow any frames after a reset is received #2154 2018-10-04 09:40:21 -07:00
Simon Cropp d4ab8b27a9 typos, inline outs, redundant usings (#2965) 2018-09-28 11:14:59 -07:00
Stephen Halter e9c2acf4dc
Add HTTP/2 response draining timeout (#2956)
* Move drain timeout to Http1Connection
* Add TimeoutControl class
2018-09-27 17:59:12 -07:00
John Luo f56b682b36 Impose integer decode limit in HPACK 2018-09-26 17:18:24 -07:00
Chris Ross (ASP.NET) 01b35bc391 Make HTTP/2 connection and stream windows configurable #2814 2018-09-24 15:31:50 -07:00
John Luo ceaa3c86fc Add configurability for max header field size in HPACK 2018-09-24 10:53:15 -07:00
Chris Ross (ASP.NET) b8423b8530 Change how HTTP/2 frames are parsed and generated #2858 2018-09-17 14:48:43 -07:00
Chris Ross (ASP.NET) 55e5e56422 Dispatch Http/2 write callbacks #2878 2018-09-13 11:53:30 -07:00
John Luo de5ccb5c78 PR feedback for https://github.com/aspnet/KestrelHttpServer/pull/2838 2018-09-10 13:58:46 -07:00
Chris Ross (ASP.NET) b8e56691cb Implement MaxRequestLineSize for HTTP/2 #2813 2018-09-06 10:01:28 -07:00
Chris Ross (ASP.NET) 384a518bda Implement MaxRequestHeadersTotalSize for HTTP/2 #2812 2018-09-06 09:07:16 -07:00
Chris Ross (ASP.NET) 991cfa8bd8 Remove limits on SETTINGS_HEADER_TABLE_SIZE #2874 2018-09-04 12:01:13 -07:00
John Luo 153020ef8a Allow UTF8 encoded header values 2018-08-30 16:21:34 -07:00
John Luo 64127e6c76 Implement MaxFrameSize and HeaderTableSize for HTTP/2 2018-08-24 11:07:41 -07:00
Chris Ross (ASP.NET) aa9dde2457 Extract bitshift helper code, Frame cleanup #2773 2018-08-17 15:48:16 -07:00
Chris Ross (ASP.NET) ff52525134 Skip ContentLength_Received_MultipleDataFramesOverSize_Reset 2018-08-17 15:44:19 -07:00
David Fowler 83488886e0
Clean up some remants of the past (#2827)
- Remove Application from HttpConnectionContext and Http*ConnectionContext (it's no longer required)
2018-08-15 23:41:32 -07:00
Stephen Halter 5becb72107
Improve test logs (#2826)
- Include hosting logs in some tests that where previously missing them
- Prevent duplicate logs from Mock CallBase an CompositeKestrelTrace
- Log ports used by transport functional tests
- Add file logging to HTTP/2 "unit" tests
2018-08-15 18:31:56 -07:00
Stephen Halter 0e99235d59
Add in-memory functional test project (#2780)
- Run AddressRegistrationTests independently to avoid port conflicts
- Only run tests that verify transport behavior for each transport
2018-08-07 15:34:11 -07:00