Commit Graph

100 Commits

Author SHA1 Message Date
Hao Kung c9499e14e4
Run helix tests on master (#6728) 2019-02-07 09:20:08 -08:00
Chris Ross 7bd5297cfa
Re-enable h2spec tests with more diagnostics Internal/#1720 (#7259) 2019-02-05 16:18:12 -08:00
Stephen Halter bf24899592
Auto-set "Content-Length: 0" on 205 responses (#7205) 2019-02-05 13:45:08 -08:00
David Fowler 9f202feafc
Rename IHttpContextContainer to IDefaultHttpContextContainer (#7217)
- Renamed since the property has to be a DefaultHttpContext
2019-02-02 22:31:49 -08:00
Sébastien Ros 61bc18fee3
Exclude benchmark apps from builds (#7171) 2019-02-01 17:57:47 -08:00
Gérald Barré f1b24ccb92 Replace unsafe code with string.Create for hex generation (#6784) 2019-02-01 10:06:20 -08:00
James Newton-King 574be0d22c
Add readonly modifier to readonly structs (#7169) 2019-02-01 15:04:25 +13:00
Stephen Halter 4539b0d2c3
Increase shutdown timeout in Kestrel TestServer (#7082)
* Never use a null abort reason
2019-01-29 16:13:37 -08:00
Justin Kotalik 1222d8de49
Add StartAsync() to HttpResponse; ImplementFeature in Kestrel (#6967) 2019-01-28 17:42:04 -08:00
Pavel Krymets f06e1822f5
Enable strict mode in roslyn compiler (#6950) 2019-01-28 15:56:27 -08:00
David Fowler 447f4bc298
Reuse the stack for OnCompleted and OnStarting calls (#6833)
- Reviewing profiles for MVC and other things that use RegisterForDispose, this shows up as a significant amount of allocations.
2019-01-28 20:37:11 +00:00
David Fowler 549f8e1773
Remove over engineered callback writing and just write chunks directly. (#6901) 2019-01-28 20:36:47 +00:00
Nate McMaster ac04019e42
Remove obsolete build infrastructure (#6995)
Changes:

* Remove obsolete targets which are unnecessary now that this repo no longer builds git submodules in a separate build process
* Remove the need for static analysis of 'ArtifactInfo' items
* Simplify how the code signing task is configured
* Remove unused repo tasks
* Remove duplicate lists of external dependencies and packages to be produced
* Remove obsolete build definition
* Remove obsolete build script parameters
* Add VisualStudioSetupOutputPath
2019-01-28 09:57:59 -08:00
Chris Ross 6c5e0cae67
Skip kestrel h2spec tests (#7035) 2019-01-28 09:36:05 -08:00
Nate McMaster 5a0e227fad
Merge branch 'release/2.2' 2019-01-24 16:14:55 -08:00
Stephen Halter 2853b451a2 Add RequestAbortedTokenIsUsableAfterCancellation test 2019-01-24 12:38:16 -08:00
Stephen Halter 5d554aeecd Revert "Wait to dispose RequestAborted CTS (#4447)"
This reverts commit 0622513058.
2019-01-24 11:23:58 -08:00
Chris Ross 24f37a9619
[automated] Merge branch 'release/2.2' => 'master' 2019-01-23 11:40:55 -08:00
Chris Ross f4c5ac7635
Move Kestrel.Core.Tests to their own test group (#6927) 2019-01-22 12:41:12 -08:00
John Luo 8c06f04d50
Call StopAsync before disposing (#6189) (#6866) 2019-01-18 18:30:54 -08:00
Nate McMaster 922512a9fb
Convert the artifacts folder layout to match Arcade (#6850)
Changes:
* IsProductPackage => IsShippingPackage
* artifacts/$config/packages => artifacts/packages/$config
* packages/product => packages/Shipping
* packages/internal => packages/NonShipping
* Renamed MSBuild properties used for output folders
* Update build tools to use 2 spaces in global.json
2019-01-18 13:38:24 -08:00
Stephen Halter 7d4ae6049f
Revert "Revert "Wait to dispose RequestAborted CTS (#4447)"" (#6812)
This reverts commit 29b7c5c030.
2019-01-17 16:22:03 -08:00
Stephen Halter 0622513058
Wait to dispose RequestAborted CTS (#4447) 2019-01-15 14:54:10 -08:00
Chris Ross 1f892d798d
Add AllowSynchronousIO to TestServer and IIS, fix tests (#6404) 2019-01-15 11:48:17 -08:00
Stephen Halter 0defbf74f8
Fix flakiness in Kestrel ungraceful shutdown test (#6637) 2019-01-15 11:10:44 -08:00
Justin Kotalik cdd38d70cf
Implement Stream Adapters (and minor nitpics) (#6583) 2019-01-15 09:00:06 -08:00
David Fowler 3f1760c52b
Reduce copies for WebSocket reads (#6656)
- Change the upgrade message body to use the transport pipe instead of the request body pipe.
- Remove some logic from the base type (more can be removed but this is a conservative change)
- Improve performance of the ReadAsync call
2019-01-14 14:14:02 -08:00
Stephen Halter cd0eab88ea
Lower log severity for opening internal libuv pipe (#6636)
Addresses #4741
2019-01-14 12:29:49 -08:00
Ben Adams b27739ad3f Shrink ParseRequestLine inner loop (#6594) 2019-01-11 20:34:30 -08:00
Ben Adams 31c8423df1 Devirtualize HttpHeaders.Reset (#5950)
* Use Inlining to devirtualize
2019-01-10 20:34:41 -08:00
Ben Adams ad11f890ef Resolve input/output via IDuplexPipe interface once (#6371) 2019-01-09 21:25:22 -08:00
Nate McMaster 0f65d44482
Merge branch 'release/2.2' 2019-01-09 18:09:25 -08:00
Nate McMaster a3f9b74bb9
Merge branch 'release/2.1' into release/2.2 2019-01-09 14:52:53 -08:00
David Fowler ea344bf726
Don't allocate the FormFeature eagerly (#6511)
- Expose FormOptions on DefaultHttpContext
- Use those options on DefaultHttpContext when the FormFeature is initialized
2019-01-09 14:44:41 -08:00
David Fowler a11c68ae35
Remove all extensibility from the DefaultHttpContext (#6504)
- Seal all of the classes
- Remove virtual methods
- Delete pooled HttpContext code
- Removed obsolete AuthenticationManager
2019-01-09 11:37:06 -08:00
David Fowler 688ad19170
Reuse HttpContext object per HTTP/1 connection and HTTP/2 stream (#6424)
- Today in Kestrel, we reuse the IFeatureCollection per connection and per Http2Stream. This PR aims to take advantage of that same technique and affinitize the HttpContext and friends so that they are only allocated per connection.
- ReusableHttpContext and friends mimic the functionality of DefaultHttpContext but is sealed and has no overridable methods.
- Introduce IHttpContextContainer which allows servers to cache the HttpContext and friends across requests.
2019-01-08 16:54:46 -08:00
Nate McMaster ce548479e1
Merge branch 'release/2.1' into release/2.2 2019-01-08 12:00:04 -08:00
Nate McMaster 5d16f97965
Remove netcoreapp2.0 test TFMs (#6461)
.NET Core 2.0 reached EOL last year. This removes multi-targeting our test projects and test assets to only use .NET Core 2.1 and .NET Framework 4.6.1.
2019-01-08 11:20:09 -08:00
David Fowler c61639b4a4
Reduce HTTP/2 allocations (#6119)
- Remove per request allocations on the thread pool by implementing IThreadPoolWorkItem on Http2Stream
- Made generic version of Http2Stream to store the IHttpApplication instead of using a tuple
- Removed passing of IHttpApplication<TContext> everywhere
2019-01-04 08:33:57 -08:00
Stephen Halter 6a5c0cf189
Manually time out H2SpecTests (#6366) 2019-01-03 16:31:53 -08:00
Stephen Halter b1f778bfb8
[Kestrel] Allow HTTP/2 stream drain timeout during trailers (#4070)
- Move all HTTP/2 stream state management into request parsing loop
2019-01-03 15:03:00 -08:00
David Fowler 4816bdcaad
Replace .Wait with await (#6191) 2018-12-30 11:19:05 -04:00
David Fowler 712b01d063
Prevent blocking threads (#6190)
- Call StopAsync and StartAsync on the Host and TestServer in more places
2018-12-30 02:31:30 -04:00
David Fowler 010c1f0c9f
Call StopAsync before disposing (#6189) 2018-12-30 01:36:30 -04:00
David Fowler b12c33dbc3
Replace ManualResetEvents with a TCS (#6173)
* Added TaskCreationOptions.RunContinuationsAsynchronously in a few places
2018-12-29 08:24:57 -04:00
Ben Adams 0d9de4991e Transport.Sockets.IOQueue -> IThreadPoolWorkItem (#4601) 2018-12-27 10:46:53 -08:00
Ben Adams 8be8e0008d Avoid boxing context.Method (#5687) 2018-12-27 09:07:44 -08:00
Ben Adams cb1917aa59 Don't allocate in BeginChunkBytes (#5688) 2018-12-26 18:00:39 -08:00
Ben Adams b87ac1d652 Use PopCount intrinsic (#5715) 2018-12-26 10:03:36 -08:00
Ajay Bhargav Baaskaran 4d0ff9967a Merge branch 'ajbaaska/merge-master' 2018-12-26 08:57:03 -08:00