- This change adds the initial socket transport for Kestrel, all of the tests pass but there are still a couple of things that aren't done yet. - The functional tests support running both on both transports but tests aren't running for sockets right now. We need to parameterize these. - TimeoutServerTests hard code the libuv transport, this needs to support any transport. - There is no handling of connection stopping on application shutdown. This is being implemented in kestrel core so transports don't need to handle it. Sockets won't be the default transport until that is the case. - Performance needs to be looked at, today the SocketTransport doesn't dispatch by default and we're not buffering in kestrel.core, this can hurt as the number of kernel calls map 1:1 with application writes. |
||
|---|---|---|
| .. | ||
| Mocks | ||
| configs | ||
| DotSegmentRemovalBenchmark.cs | ||
| ErrorUtilities.cs | ||
| FrameFeatureCollection.cs | ||
| FrameParsingOverheadBenchmark.cs | ||
| FrameWritingBenchmark.cs | ||
| KestrelHttpParserBenchmark.cs | ||
| KnownStringsBenchmark.cs | ||
| Microsoft.AspNetCore.Server.Kestrel.Performance.csproj | ||
| PipeThroughputBenchmark.cs | ||
| Program.cs | ||
| Readme.md | ||
| RequestParsingBenchmark.cs | ||
| RequestParsingData.cs | ||
| ResponseHeaderCollectionBenchmark.cs | ||
| ResponseHeadersWritingBenchmark.cs | ||
Readme.md
Compile the solution in Release mode (so Kestrel is available in release)
To run a specific benchmark add it as parameter
dotnet run -c Release RequestParsing
To run all use All as parameter
dotnet run -c Release All
Using no parameter will list all available benchmarks