Pranav K
200d8debc0
Use the SDK version of GetOSPlatform
2017-03-28 14:27:54 -07:00
Cesar Blum Silveira
db7348e776
Fix flakiness in WhenAppWritesLessThanContentLengthButRequestIsAbortedErrorNotLogged.
2017-03-27 10:10:28 -07:00
Cesar Blum Silveira
47f1db20e0
Fix races on port acquisition in AddressRegistrationTests ( #1520 ).
2017-03-24 16:46:40 -07:00
David Fowler
0f28c49c5e
Fix the invalid usages of Span<T> ( #1549 )
2017-03-24 11:06:16 -07:00
Pranav K
d6d13a0986
Remove net451 as a cross-compile target
2017-03-24 07:44:11 -07:00
Cesar Blum Silveira
3e6303b6c1
Fix flakiness in connection reset logging tests.
2017-03-23 21:52:29 -07:00
Ben Adams
ff99c4c865
Fix benchmarks (broken) ( #1515 )
...
* Fix benchmarks
* Remove Moq from benchmarks
2017-03-22 18:30:06 -07:00
Stephen Halter
fffb823e99
Dispose socket in test after synchronous connect
2017-03-22 10:33:38 -07:00
Cesar Blum Silveira
751a0e2e7e
Better checks for connection reset in RequestTests.ConnectionReset* tests ( #1517 )
2017-03-21 19:35:41 -07:00
Cesar Blum Silveira
72587baac3
Check that MaxRequestBufferSize is greater than or equal to MaxRequestHeadersTotalSize ( #1491 ).
2017-03-21 19:25:56 -07:00
Stephen Halter
6c131ea240
Verify scopeids are connectable using Socket before testing Kestrel ( #1536 )
2017-03-21 18:31:29 -07:00
Ben Adams
32d6b42964
Respond to corefxlab rename (build break) ( #1529 )
2017-03-21 08:43:49 -07:00
David Fowler
cf576559b6
Fix write after close ( #1526 )
...
- Change Alloc to be a Write with a callback that exposes the WritableBuffer.
This allows the ISocketOutput to implementation to not call the callback if
the underlying socket is dead.
- Added a new functional test
2017-03-20 23:58:26 -07:00
Cesar Blum Silveira
3b40ba52ca
Check if request is aborted before verifying response bytes written ( #1498 ).
2017-03-20 16:02:25 -07:00
Stephen Halter
8923b0da70
Use correct config for response buffer limit ( #1516 )
2017-03-20 15:43:55 -07:00
David Fowler
2ed456fd68
Faster Write implementation using cpblk ( #1511 )
...
* Faster Write implementation
- Use Unsafe.CopyBlockUnaligned to copy bytes to the
WritableBuffer. This is temporary until we get newer
corefx bits with a better span.CopyTo implementation.
- Remove WritableBufferExtensions from Performance project
- Split method into WriteFast and WriteMultiBuffer
- Cache the span for the common case where
the buffer is non empty.
- Use ref locals instead of pinning pointers in fast path
2017-03-19 12:44:01 -07:00
David Fowler
1094cc0670
Use StreamSocketOutput for writing benchmarks ( #1507 )
...
- Use StreamSocketOutput with a null stream to get a
better picture of what actual performance looks like
2017-03-18 13:20:07 -07:00
Ben Adams
5b814a55ac
Speed up WritableBuffer.WriteXxx ( #1504 )
...
* Speed up WritableBuffer.WriteAscii
* Add Benchmarks
* Non-standard header vals are still ascii
* Speedup WriteNumeric
* Don't advance for write
* Remove cruft
2017-03-18 12:25:10 -07:00
Pavel Krymets
07cbf7faa9
Use pipelines for SocketOutput
...
- Changed socket output to be based on pipelines
- Changed connection filter glue to be based on pipelines
- Codegen that used `MemoryPoolIterator` for output now uses `WritableBuffer`
- Made `UvWriteReq` async/await friendly with `LibuvAwaitable<T>`
- Deleted MemoryPool and friends
2017-03-18 00:26:00 -07:00
Cesar Blum Silveira
2ef3804578
Span-based RemoveDotSegments ( #1448 )
2017-03-17 14:42:13 -07:00
Nate McMaster
9a4a810aa8
Fix race conditions in test event listener
2017-03-15 10:26:09 -07:00
Cesar Blum Silveira
632780dd16
Remove splitting of path and path base ( #1050 ).
2017-03-15 09:57:33 -07:00
Nate McMaster
d4c0d4b81e
Adds an EventSource named 'Microsoft-AspNetCore-Server-Kestrel' with the following event and properties:
...
ConnectionStart:
- connectionId
- scheme
- localEndPoint
- remoteEndPoint
ConnectionStop:
- connectionId
2017-03-14 16:59:11 -07:00
Nate McMaster
5073d4fdaf
Re-add .NET Framework to tests and other cleanup ( #1494 )
2017-03-14 11:02:49 -07:00
Ben Adams
b94912bcb1
InitializeHeaders only at start of parsing/Fix remaining ( #1488 )
...
* Don't reinitialize header collection each loop
* Correct remaining tracking value
* Add tests
2017-03-13 15:32:28 -07:00
David Fowler
5644310811
Clean up benchmarks ( #1487 )
...
- Benchmarks are suffixed with *Benchmarks
- Removed Custom RpsColumn.cs and used Ops/Second column
- Removed params from RequestParsingBenchmark
2017-03-12 22:52:24 -07:00
Cesar Blum Silveira
49f09d5a25
Log rejected request targets.
2017-03-12 18:37:08 -07:00
David Fowler
f479720d5a
Remove our custom bootstrapper and use the BenchmarkSwitcher ( #1480 )
2017-03-11 18:19:13 -08:00
Ben Adams
3c8ee39f1d
Fxi writing perf test ( #1478 )
2017-03-10 12:04:28 -08:00
Nate McMaster
49b328d4c2
Handle absolute, asterisk, and authority-form request targets
...
Improves compliance with RFC 7230 on the expected handling of requests
that have URI or asterisk in the request target.
This means rejecting asterisk requests that are not OPTIONS and rejecting
authority-form requests taht are not CONNECT.
This also means the server will handle the path and query on targets
with absolute URIs as request-targets.
2017-03-09 16:54:12 -08:00
Ben Adams
941d396942
Speed up ParseRequestLine ( #1463 )
2017-03-08 19:27:56 -08:00
Nate McMaster
63e3c9428a
You can't have two benchmarks as the baseline.
2017-03-08 17:28:13 -08:00
Nate McMaster
3a1f3d14f9
Add absolute-uri benchmark and change plaintext, live aspnet, and unicode benchmarks to use origin-form
2017-03-08 17:21:21 -08:00
Cesar Blum Silveira
bb973decb8
Unify header rejection messages.
...
- Log bad headers with escaped non-vchar characters
2017-03-08 15:27:44 -08:00
Cesar Blum Silveira
e25eb418bb
Change non-printable char representation in log messages from <0xXX> to \xXX.
2017-03-08 10:05:53 -08:00
David Fowler
13519b6079
Fix CopyTo implementation in benchmark. ( #1462 )
...
* wip
* ooops
2017-03-07 17:39:56 -08:00
Cesar Blum Silveira
5743d740b4
Convert HTTP parsing FrameTests to IHttpParser tests ( #1416 ).
...
- Also fix an issue in KestrelHttpParser where "Header: \r\n" is
parsed with a value of " " instead of "".
2017-03-07 15:51:11 -08:00
Ben Adams
e2f8c226ef
Simplify TakeSingleHeader and Vectorize ( #1457 )
...
* Sanitize unsafe code
* Vectorize
* Extract Contains and add more tests
2017-03-07 13:30:57 -08:00
Pavel Krymets
1294c00618
Cleanup unused code ( #1458 )
2017-03-07 11:52:45 -08:00
David Fowler
02a4342908
Made changes to TakeSingleHeader ( #1453 )
...
* Made changes to TakeSingleHeader
- Remove state machine and just parse in place
- Inline OnHeader into TakeSingleHeader
- Use IndexOfVectorized instead of custom indexof
- Normalize header whitespace error
- Combine IndexOf and IndexOfAny into a single IndexOfNameEnd call
2017-03-07 08:58:55 -08:00
John Luo
06134bc6e0
Add IPv6 loopback address by default #1434
2017-03-06 18:02:28 -08:00
Cesar Blum Silveira
11c7eb5665
Verify all request rejections are logged ( #1295 ).
2017-03-06 12:05:38 -08:00
John Luo
7d94abd606
Enable default server address test
2017-03-06 10:26:32 -08:00
Cesar Blum Silveira
0404bcc58c
Add more microbenchmarks.
2017-03-06 10:14:22 -08:00
David Fowler
537b06f025
Interleave multispan and single span code path ( #1442 )
...
- Attempt at making the reader better for multispan parsing
- Try tighter inner loop
- Fix boundary case and clean code up
- Update the cursor once instead of after every header
- Fix errors with not updating consumed state on incomplete header payload
- Filled a test hole, removed a condition that should never happen
- Avoid struct copies every iteration when parsing headers
2017-03-06 09:06:28 -08:00
David Fowler
0ce111d9f1
Fix write size in benchmark ( #1449 )
2017-03-06 03:31:45 -08:00
Cesar Blum Silveira
83edc38e72
Use TechEmpower request as baseline for request parsing benchmarks.
2017-03-03 15:55:07 -08:00
Cesar Blum Silveira
de2c3d3608
Merge branch 'KrzysztofCwalina/NewBenchmark' into dev
2017-03-03 15:28:34 -08:00
Stephen Halter
ac60f13312
Modify RequestProcessingAsync to call single parse method ( #1427 )
...
* Modify RequestProcessingAsync to call single parse method
* Fix bad request logging
2017-03-03 14:43:32 -08:00
Krzysztof Cwalina
7cc5c537a4
Added a new benchmark
2017-03-03 13:13:11 -08:00