Commit Graph

1214 Commits

Author SHA1 Message Date
Stephen Halter f179339a79 Combine BufferWriter and CountingBufferWriter 2018-07-12 11:58:49 -07:00
Nate McMaster 128eefdef3
Remove usage of the Microsoft.Extensions.Buffers.Sources package, copy the source into Kestrel
This moves source code that used to be in aspnet/Common. It was only used here, so this simplifies the process of working with these internal-only APIs.

cref https://github.com/aspnet/Common/pull/386
2018-07-11 22:31:23 -07:00
Nate McMaster 1d9db7c25f
Merge 2.1.2 into release/2.1 2018-07-10 10:34:35 -07:00
Stephen Halter ac31e5ab30
[2.1.3] Consistently handle connection aborts (#2619)
* Decouple connection objects from the server (#2535)

- Making progress towards being able to use the connection objects on the client side.

* Wait for input writer to complete before calling OnConnectionClosed (#2566)

* Wait for the ConnectionClosed token to stop tracking connections (#2574)

- The prior strategy of waiting for the pipe completed callbacks doesn't work
  because blocks are returned to the memory pool after the callbacks are fired.

* Consistently handle connection resets (#2547)

* Provide better connection abort exceptions and logs

* void IConnectionDispatcher.OnConnection
2018-06-28 10:51:22 -07:00
Nate McMaster ff3f0e905d
Merge branch 'release/2.1' into release/2.1.2 2018-06-12 14:16:29 -07:00
Stephen Halter e4d290b601
Fix Json regression in Socket Transport (#2578) 2018-05-31 16:28:25 -07:00
Stephen Halter d1416e679b
[2.1.1] Provide clearer exception message for breaking change (#2623)
- In 2.1, the default transport (Sockets) can no longer bind to certain
  endpoint types (Unix domain sockets and open socket handles).
- The new message recommends manually selecting the libuv transport
  to work around this issue.
2018-05-31 15:45:26 -07:00
Stephen Halter af177c5adc
Add Memory<byte> overloads to HttpUpgradeStream (#2622) 2018-05-31 15:44:39 -07:00
Stephen Halter 9e15b2bca4
Fix PipeReader consumption pattern [2.1] 2018-05-31 11:27:38 -07:00
Stephen Halter 5ec7bacdfe
Lower severity of AuthenticationException logs from SslStream handshake (#2614) 2018-05-29 16:27:16 -07:00
Stephen Halter da21fc89cf
Handle exception in SocketConnection.Shutdown() (#2562) 2018-05-10 23:39:06 -07:00
Stephen Halter e6a88c1b9c
Relieve response backpressure immediately when closing socket (#2557)
* Relieve response backpressure immediately when closing socket
2018-05-10 17:13:57 -07:00
Nate McMaster 05d68efbae
Merge branch 'release/2.1.0-rc1' into release/2.1 2018-05-07 14:35:41 -07:00
Stephen Halter 5c17bff55d
Don't throw on FIN from upgraded connections (#2533)
* Allow app to drain request buffer after FIN
2018-05-04 16:21:07 -07:00
Stephen Halter b0e1fa5e30 Fix connection abort 2018-04-23 17:01:49 -07:00
Stephen Halter 6fd09af374
Improve logging of request drain timeout (#2480) 2018-04-16 11:53:10 -07:00
Andrew Stanton-Nurse 3a45136cc4
make IConnectionInherentKeepAliveFeature a boolean feature (#2496) 2018-04-16 11:34:06 -07:00
Ben Adams e30a02cee5 Less StringValue struct copies for header checks (#2488) 2018-04-13 18:21:50 -07:00
John Luo 2d51d23697 Add file logging to functional tests 2018-04-13 14:53:57 -07:00
Stephen Halter 10f3b6863e
Avoid nullref in KestrelEventSource (#2483)
* Avoid nullref in KestrelEventSource
* Improve HostNameIsReachableAttribute to speed up test discovery
2018-04-12 17:29:34 -07:00
Chris Ross (ASP.NET) ee12c4fcf2 Downgrade HTTPs handshake failures to debug #1853 2018-04-12 09:25:44 -07:00
Chris Ross (ASP.NET) c6fa9793eb Make Protocols internal 2018-04-12 08:53:27 -07:00
David Fowler ca44b4adfc
Moved kestrel specific features into transport abstractions (#2482) 2018-04-11 20:23:48 -07:00
David Fowler f6b2880369
Flow the ConnectionContext to the SNI callback (#2478) 2018-04-11 15:56:25 -07:00
Sébastien Ros e8bb88cb58
Fixing typo (#2477) 2018-04-11 14:27:53 -07:00
David Fowler b030ab7e49
Update Connections.Abstractions.csproj (#2473) 2018-04-09 17:55:14 -07:00
David Fowler 4760cce6aa
Remove IConnection (#2472) 2018-04-07 18:55:59 -07:00
Chris Ross (ASP.NET) 2ee0d6e337 Delay loading the dev cert #2422 2018-04-04 14:54:27 -07:00
Chris Ross (ASP.NET) 953496a970 Merge branch 'release/2.1' into dev 2018-04-04 13:44:56 -07:00
Chris Ross (ASP.NET) 9ea2c50068 Add SNI support #2357 2018-04-04 12:49:29 -07:00
Andrei Amialchenia 70ce044778 Corrects spelling of some comments (#2461) 2018-04-03 15:55:17 -07:00
Pavel Krymets ba06c58bcb
Merge release/2.1 into dev (#2460) 2018-04-03 10:45:31 -07:00
Stephen Halter 623c27ab01
Dispose SocketAsyncEventArgs when we dispose the Socket (#2459) 2018-04-02 19:48:17 -07:00
Pavel Krymets ba2b883db0
Reaction to *Memory changes (#2446) 2018-04-02 16:44:13 -07:00
David Fowler 6b183c5ac0
Use 4K as the minimum segment size (#2452)
- This normalizes the behavior for kestrel no matter what memory pool implementation is used. The transports should behave the same (ask for 1/2 full blocks) across pool implementations.
- Declare the minimum segment size in KestrelMemoryPool
- Updated the AdaptedPipeline to use MinimumSegmentSize / 2
2018-04-02 16:14:40 -07:00
David Fowler a37fa83aee
Fixed a parser bug found when trying out the array pool (#2450)
- When using the array pool, we get terrible block density and as a result
the header parser was failing.
- This fixes the case where the parser needed to skip 2 blocks at the end
(which is unrealistic). Comparing the current index to the reader index is incorrect
since we may end up at the same index in another segment.
2018-04-01 00:04:02 -07:00
David Fowler 7382198356
Copy connection middleware when using ListenLocalHost (#2447)
- Connection middleware got removed during Clone when using ListenLocalhost
2018-03-31 07:29:35 -07:00
Andrew Stanton-Nurse 2c2a8dae01
Merge pull request #2445 from aspnet/release/2.1
Add IConnection to Connections.Abstractions (#2444)
2018-03-30 15:21:48 -07:00
David Fowler 67cb8a0e11 Add IConnection to Connections.Abstractions (#2444) 2018-03-30 15:20:31 -07:00
David Fowler 46ab09ca36 Merge branch 'release/2.1' into dev 2018-03-27 02:08:35 -07:00
David Fowler be04ccac6e
Move DuplexPipe into Kestrel.Core as internal (#2428) 2018-03-27 02:02:15 -07:00
Stephen Halter 68ff406862 Merge branch 'release/2.1' into dev 2018-03-26 14:51:21 -07:00
Stephen Halter a1de323ff4
Make LibuvTransport(Factory) pubternal (#2426) 2018-03-26 11:39:51 -07:00
David Fowler f0629dcbe4 Merge branch 'release/2.1' into dev 2018-03-24 03:14:59 -07:00
David Fowler 6701339835
Expose DefaultConnectionContext POCO (#2421)
- Made TransportConnecton derive from ConnectionContext
- Less objects, less opinions about what the ConnectionContext is. This diverges from what we do with HttpContext but it seems better overall.
- Made DefaultConnectionContext
 - Usable for unit testing
 - Usable for benchmarking
2018-03-24 03:12:53 -07:00
John Luo 2dc1858f90 Merge branch 'release/2.1' into dev 2018-03-23 16:02:42 -07:00
John Luo 63fd1e1a4d Re-enable api check
- Disable api check for Transport.Libuv due to breaking change
- Add empty baseline files for unreleased packages
2018-03-23 12:55:06 -07:00
David Fowler 0753f4b4f4 Merged release/2.1 2018-03-22 21:56:29 -07:00
David Fowler abdcb47b8f
Renames from API review (#2413)
* Renames from API review
- Rename Microsoft.AspNetCore.Protocols.Abstractions to Microsoft.AspNetCore.Connections.Abstractions.
- Renamed IConnectionHandler to IConnectionDispatcher (and related properties and types)
- Added ConnectionHandler and UseConnectionHandler extension method to Connections.Abstractions.
-  Use ActivatorUtilties to create the ConnectionHandler
2018-03-22 21:38:14 -07:00
Nate McMaster 12abcd2f68
Merge branch 'release/2.1' into dev 2018-03-21 22:16:12 -07:00