Commit Graph

1504 Commits

Author SHA1 Message Date
Pranav K c923ba3228 Updating versions to preview3 2017-06-01 10:47:16 -07:00
Pranav K 196bfe269f Merge remote-tracking branch 'origin/rel/2.0.0-preview2' into dev 2017-05-31 20:00:59 -07:00
Pranav K 69b4100bbc Updating build scripts to point to 2.0.0-preview2 KoreBuild 2017-05-31 19:53:24 -07:00
Pranav K 47916ee103 Merge remote-tracking branch 'origin/rel/2.0.0-preview2' into dev 2017-05-31 19:44:47 -07:00
Pranav K 8dc93a0233 Branching for rel/2.0.0-preview2 2017-05-31 19:36:51 -07:00
Nate McMaster a334e88597 Decrease connections used in ConnectionCountingReturnsToZero for slow test agents (#1872) 2017-05-30 14:16:07 -07:00
Cesar Blum Silveira 402b337178 Temporary workaround for GenerateResource task error on VS. 2017-05-30 12:47:36 -07:00
Kiran Challa 402f979c1c Updated to use the latest shared runtime 2017-05-29 04:40:55 -07:00
Nate McMaster c343628926 Implement max connection limits
- Added new options to allow configuring the maximum number of concurrent connections and upgraded connections.
- `KestrelServerLimits.MaxConcurrentConnections` defaults unlimited.
- `KestrelServerLimits.MaxConcurrentUpgradedConnections` defaults to unlimited.
- Calls to IHttpUpgradeFeature.UpgradeAsync() will throw when the MaxConcurrentUpgradedConnections limit has been reached.
- Kestrel will close new connections without response when MaxConcurrentConnections is reached.
2017-05-26 12:27:48 -07:00
Cesar Blum Silveira 009759c7f6 Fix broken microbenchmarks (#1861). 2017-05-25 16:01:17 -07:00
Stephen Halter 6c0af445e5 Fix flaky test and improve TestServer (#1859) 2017-05-24 15:45:54 -07:00
Cesar Blum Silveira 197eb43d8a Read request body concurrent to app execution. 2017-05-22 12:23:02 -07:00
Nate McMaster 390582dcf1 Target .NET Standard 2.0 (#1849) 2017-05-20 10:37:35 -07:00
Pavel Krymets 34ab089e7b React to scheduler changes (#1846) 2017-05-18 14:49:48 -07:00
Cesar Blum Silveira f8a6433cd5 Fix flaky ResponseTests.FailedWritesResultInAbortedRequest. 2017-05-17 17:01:34 -07:00
Nate McMaster 7f0319f5dd Throw InvalidOperationException from IHttpUpgradeFeature.UpgradeAsync when request is not upgradable 2017-05-17 11:38:42 -07:00
Cesar Blum Silveira 10f88aeafc Fix duplicate ID test warning. 2017-05-17 10:57:39 -07:00
Nate McMaster 643a43c3d6 Update test framework versions and fix issues with tests (#1834) 2017-05-17 09:36:40 -07:00
Pavel Krymets d22f689fd2 Add support to use System.Memory as a package instead of internilized source (#1821) 2017-05-16 16:54:03 -07:00
David Fowler cf16d601d6 Remove synchronous Write APIs (#1838) 2017-05-15 19:04:04 -07:00
Stephen Halter 9ab09dbe48 Change Exception to UvException where possible (#1833) 2017-05-15 11:03:04 -07:00
Stephen Halter 41f1922502 Simplify LibuvConnection.OnRead() (#1828)
* Simplify LibuvConnection.OnRead()

- Fix a null reference that sometimes occurs given an EOF status
2017-05-15 11:02:16 -07:00
Kiran Challa 01b8d5fad1 Skip flaky temporarily to unblock the mirror 2017-05-13 20:41:10 -07:00
David Fowler 1a706113d9 Remove rogue ConfigureAwait (#1830)
- We don't do it anywhere else, I assume this is left over
from older legacy
2017-05-12 18:26:52 -07:00
Cesar Blum Silveira cb1d0f3956 Prevent infinite loop in PipelineExtensions.PeekAsyncAwaited() (#1827). 2017-05-12 16:04:38 -07:00
Stephen Halter e149852d62 Skip flaky tests on TeamCity agents (#1832) 2017-05-12 14:36:47 -07:00
Cesar Blum Silveira 37f15bdd85 Create Frame in FrameConnection. 2017-05-10 16:48:37 -07:00
David Fowler b9518e3684 Invert the dependency between connection adapters and Frame (#1822)
* Invert the dependency between connection adapters and Frame
- Removed PrepareRequest from IAdaptedConnection and instead added
a feature collection to the ConnectionAdapterContext. This allows features to be set
once by the adapter instead of per request. It's the Frame's job to copy features
from the connection level feature collection into the per request feature collection.
- Set the scheme to "https" based on the presence of ITlsConnectionFeature.
- Always set ITlsConnection feature if the HttpsAdaptedConnection doesn't throw during
the handshake
2017-05-10 15:29:43 -07:00
Pavel Krymets 90ee2252a0 Remove unnecessary package references (#1825) 2017-05-10 11:35:23 -07:00
David Fowler c8b6a2be56 More FrameConnection refactoring (#1820)
* More FrameConnection refactoring
- This change reverts the change to complete the writer with an
exception on abort because of the number of first chance exceptions
that get thrown.
- This change also moves connection logging into FrameConnection instead
of being split between the ConnectionHandler and FrameConnection.
- Fixed issues with LibuvOutputConsumerTests that leak WriteReq since
cancelled writes no longer end the connection.
2017-05-09 17:40:25 -07:00
David Fowler c48113ad80 Refactoring and of FrameConnection and Frame (#1816)
* Refactoring and of FrameConnection and Frame
- Building on top of the last refactoring of FrameConnection, this change aims to clean up
the communication between the Frame and FrameConnection by removing some concepts and
being consistent about the communication between Frame and FrameConnection with or without
connection adapters. Changes include:
- Removing ConnectionLifetimeControl, ISocketOutput, StreamSocketOutput
- Moving more initialization of the frame to FrameConnection after the pipes
are setup
- OutputProducer communicates cancellation via the IPipeWriter instead of the output's IPipeReader.
- Frame always communicates via the pipes and that communications flows through the layers to the transport.
This means that each 1/2 of the adapted pipeline handles closing the right side of the transport at the
right time, propagating exceptions as necessary.
- This is how the flow looks now:
            ->                        ->
[transport]     [connection adapters]     [frame]
            <-                        <-
- Transports need to handle a ConnectionAbortedException on the output as a signal to stop
writing and end the connection. This will no longer try to drain the output but will just stop
writing and end the response immediately.
- Remove frame.Abort when cancellation on Write fails.
- Unify the connection shutdown logic
- Dispose 1/2 initialized connection adapters

#1815
2017-05-08 20:44:13 -07:00
Stephen Halter 6e2fdda162 Simplify connection lifetime control flow (#1776)
* Also make IAdaptedConnection disposable
2017-05-05 16:11:01 -07:00
Pavel Krymets 28b479c99a Merge branch 'rel/2.0.0-preview1' into dev 2017-05-05 14:35:41 -07:00
Pavel Krymets a9c165e666 netcoreapp2.0 (#1810) 2017-05-05 14:31:34 -07:00
David Fowler cd1568d7f4 Remove uv_shutdown because FIN is already sent during uv_close (#1811)
* Remove uv_shutdown because FIN is already sent during uv_close

#1808
2017-05-05 12:52:10 -07:00
Pavel Krymets 5ea9981cdb Merge branch 'rel/2.0.0-preview1' into dev 2017-05-05 10:24:24 -07:00
Pavel Krymets 49a6be9b81 Update InternalAspNetCoreSdkVersion 2017-05-05 10:24:16 -07:00
Stephen Halter 557cf29e4a arespr/knownmethods-optimizations cleanup 2017-05-04 12:27:22 -07:00
Stephen Halter f464760bf8 Merge branch 'arespr/knownmethods-optimizations' into dev 2017-05-04 11:44:54 -07:00
David Fowler 9072e0ba26 Added a ConnectionAbortedException to Transport.Abstractions (#1806)
* Added a ConnectionAbortedException to Transport.Abstractions
- To avoid hard coding TaskCanceledException in each transport
- This PR tries to keep compatibility by converting the ConnectionAbortedException
to a TaskCanceledException on exceptions in FrameRequestStream. The downside is that
this conversion causes an async state machine to be created per call to ReadAsync.
CopyToAsync isn't that bad because it's a single long running task.
2017-05-03 19:38:34 -07:00
David Fowler b21f84543a Use WebHostBuilder as an implementation detail of TestServer (#1804)
- This will make tests run more similarly so we can swap out the
transport more easily.
2017-05-03 19:35:09 -07:00
Pranav K 6c0c31640f Merge remote-tracking branch 'origin/rel/2.0.0-preview1' into dev 2017-05-01 22:02:14 -07:00
Pranav K 88461902cd Use the bundled NETStandard.Library package in netstandard targeting libraries 2017-05-01 20:54:50 -07:00
David Fowler 35b5d92652 Fix EBUSY errors on uv_loop_close (#1798)
* Fix race where ListenerPrimary is disposed before secondary listeners spin up
- Since we only add listeners to dispatch pipes after receiving the "ack" message
it's possible to have pipes that were created but not acked yet. We might miss
disposal of those pipes if they were never added to the list of _dispatchPipes.

#1761
2017-05-01 14:55:32 -07:00
Stephen Halter 4dd4a573e6 Merge branch 'rel/2.0.0-preview1' into dev 2017-05-01 12:21:12 -07:00
Stephen Halter 0afb874555 Fix flaky tests that bind to discovered IP addresses (#1795) 2017-05-01 12:20:53 -07:00
Stephen Halter 6a3d6d4273 Fix flaky tests that bind to discovered IP addresses (#1795) 2017-05-01 11:41:10 -07:00
Nate McMaster 4dc7946cd8 Implement new request trace identifier format
The format:
The trace identifier begins with connection ID and ends with a number that increments with each request per connection.

Example:
Connection ID = xyz
Request 1 = "xyz:00000001"
Request 2 = "xyz:00000002"
...
Request 15 = "xyz:0000000F"
Request 16 = "xyz:00000010"
2017-05-01 09:50:47 -07:00
Florian Greinacher 3375cf0e28 Update README.md (#1799)
Kestrel is not (only) libuv-based anymore :)
2017-04-30 11:00:31 -07:00
David Fowler 9a5d6c8879 More shutdown tweaks (#1760)
* More shutdown tweaks
- Added assert if loop has ended before starting the shutdown
sequence.
2017-04-29 01:15:10 -07:00