Pranav K
88461902cd
Use the bundled NETStandard.Library package in netstandard targeting libraries
2017-05-01 20:54:50 -07:00
Stephen Halter
0afb874555
Fix flaky tests that bind to discovered IP addresses ( #1795 )
2017-05-01 12:20:53 -07:00
Cesar Blum Silveira
9185deecda
Avoid port conflicts in AddressRegistrationTests ( #1721 ).
2017-04-28 09:56:29 -07:00
David Fowler
0e372edb2c
Removed UseTransportThread ( #1781 )
2017-04-27 20:59:50 -07:00
Cesar Blum Silveira
005b884b7d
Build rel/ branches on Travis and AppVeyor.
2017-04-27 18:07:57 -07:00
Stephen Halter
79ea2bb9b3
Quick fix for SslStream ODEs in HttpsAdaptedConnection.PrepareRequest ( #1786 )
2017-04-27 16:56:07 -07:00
BrennanConroy
1a26dc0238
React to Logging API changes ( #1775 )
...
React to Logging API changes
2017-04-26 13:44:55 -07:00
Nate McMaster
9464003bda
Add wait in ListenerPrimaryTests to avoid race condition with List.Add
2017-04-26 11:03:28 -07:00
Pranav K
d9dad9400c
Branching for 2.0.0-preview1
2017-04-25 22:03:29 -07:00
Nate McMaster
eb1301f28d
Skip HostName binding test when network is unreachable
2017-04-25 14:33:06 -07:00
Pranav K
5b976a9fa3
Use Bundled NETStandard.Library \ NETCoreApp versions instead of explicitly specifying one
2017-04-25 12:51:48 -07:00
David Fowler
566a587126
Added ApplicationSchedulingMode to KestrelServerOptions ( #1759 )
...
* Added ApplicationSchedulingMode to KestrelServerOptions
- Made default mode Default instead of ThreadPool
2017-04-25 00:37:09 -07:00
Stephen Halter
a4def946a6
Fix flaky 400 response tests ( #1758 )
2017-04-24 23:48:47 -07:00
Pavel Krymets
e3e78bc461
Fix LibuvOutputConsumerTests ( #1757 )
...
* Fix LibuvOutputConsumerTests
2017-04-24 17:37:30 -07:00
David Fowler
9e80fb65bd
Removed the wrote after disconnect log ( #1747 )
...
- It's not very useful
2017-04-24 17:34:56 -07:00
Stephen Halter
f26c31c116
Fix scope id test failures on mac and linux ( #1754 )
2017-04-24 17:15:41 -07:00
Nate McMaster
39047638cc
Add debug logging in address binding when IPv6Any fails
2017-04-24 17:14:43 -07:00
Nate McMaster
089ff49643
Put hostname address registration into separate test
2017-04-24 17:14:43 -07:00
Stephen Halter
c22f8f5c59
Fix potential race in LibuvThread.StopAsync ( #1756 )
2017-04-24 16:47:48 -07:00
David Fowler
a98581670e
Schedule connection adapter reads on configured thread pool ( #1741 )
...
* Schedule connection adapter reads on configured thread pool
- This should speed up connection adapters as we don't block
new reads. It *might* also help some of the test flakiness
2017-04-24 12:19:22 -07:00
David Fowler
7e5604b2f5
Remove async from OnRead ( #1746 )
...
- Remove async from fast path.
- Added ApplyBackpressureAsync that pauses and resumes reading
2017-04-24 11:58:52 -07:00
Pavel Krymets
df9e48b1f0
Add cancellation support for write async ( #1736 )
2017-04-24 11:58:08 -07:00
David Fowler
71d2abed06
More clean up of LibuvConnection ( #1743 )
...
* More clean up of LibuvConnection
- Use C# 7
- Use Buffer<T>.Pin to get access to the underlying
pointer instead of using TryGetPointer.
2017-04-23 20:45:03 -07:00
David Fowler
db44f5b672
Clean up LibuvOutputConsumer ( #1744 )
...
* Clean up LibuvOutputConsumer
- Added UvShutdownReq.ShutdownAsync
- Added Debug.Assert in LibuvAwaitable since it should never race.
2017-04-23 20:22:49 -07:00
David Fowler
650a3ccc26
Pass exception to Complete ( #1739 )
2017-04-21 23:31:59 -07:00
David Fowler
a749939be4
Clean up libuv connection ( #1726 )
...
* Clean up libuv connection
- Cancel all pending flushes on the input writer before
disposing the stream handle.
- Complete the pipe before disposing the socket
- Added logging for connection pause/resume.
- Added test
2017-04-21 13:13:05 -07:00
David Fowler
feb9d1281e
Tweak libuv shutdown sequence ( #1735 )
...
* Tweak libuv shutdown sequence
- Increase timeouts for thread and listener shutdowns
- Remove post.Unreference call from AllowStopRude
2017-04-21 13:12:37 -07:00
David Fowler
dcea15dba7
Skipped newly failing AddressRegistration tests failing tests on OSX and Linux ( #1732 )
...
* Unblock CI
2017-04-21 01:54:44 -07:00
Stephen Halter
a14eabce9a
RequestTests and ResponseTests cleanup ( #1723 )
2017-04-20 16:33:05 -07:00
Nate McMaster
ee9feedc27
Improve implementation of IHttpUpgradeFeature
...
After upgrade has been accepted by the server:
- Reads to HttpRequest.Body always return 0
- Writes to HttpResponse.Body always throw
- The only valid way to communicate is to use the stream returned by IHttpUpgradeFeature.UpgradeAsync()
Also, Kestrel returns HTTP 400 if requests attempt to send a request body along with Connection: Upgrade
2017-04-20 12:42:58 -07:00
Stephen Halter
bebba2a113
Make UnrootedConnectionsGetRemovedFromHeartbeat test less flaky ( #1727 )
2017-04-20 10:58:48 -07:00
David Fowler
d0743806d8
Disable UnrootedConnectionsGetRemovedFromHeartbeat because it's flaky
2017-04-20 10:21:20 -07:00
David Fowler
d1494224f4
Make the tests that use the Heartbeat more deterministic. ( #1724 )
...
- Added Start to Heartbeat and made OnHeartbeat internal
- Explicitly call start in tests
2017-04-20 01:41:37 -07:00
Stephen Halter
a053ca4758
Move shutdown logic from transport to core ( #1707 )
...
* Move shutdown logic from transport to core
* Use weak references to track FrameConnections
2017-04-19 18:08:36 -07:00
David Fowler
d40dbb81ea
Fixed broken tests that leak UvWriteReq
2017-04-19 17:50:43 -07:00
Nate McMaster
7a3a731686
Refactor address binding and handle EAFNOSUPPORT
...
- Simplify KestrelServer by refactoring address binding into a separate class
- Use strategy pattern to implement address binding for different sceanrios
- Add fallback from binding 0.0.0.0 if binding to [::] fails (can happen if UvException with EAFNOSUPPORT is thrown)
2017-04-19 15:58:12 -07:00
David Fowler
42d82a507d
Make all UvRequest objects normal GC handles ( #1698 )
...
* Make all UvRequest objects normal GC handles
- This avoids the cost of using GCHandle.Alloc per operation.
- It *does* mean that we need to explicitly dispose UvRequest objects
after using them (which we did before anyways). This change does
add a few try catch statements to make sure we always dispose the UvRequest
if there are synchronous exceptions.
- This is ~1.5% of the overhead in the benchmarks today
- Keep track of all allocated UvRequest objects with a WeakReference in DEBUG
and assert none are kept around after cleaning up.
- Fixed a leak where we don't clean up UvWriteReq objects when writing
to the named pipe.
2017-04-19 15:16:11 -07:00
Stephen Halter
e4ba1d01ce
Ensure that KeepAliveTimeoutTests do not run with sync context ( #1718 )
...
- With Task.Delay(1).ConfigureAwait(false) there's a race where
Task.IsCompleted could already be true by the time it's evaluated.
2017-04-18 17:20:59 -07:00
Pavel Krymets
88890595d1
Define a constant to workaround corefxlab classes asses modifier issue
2017-04-18 09:01:35 -07:00
Cesar Blum Silveira
a0743650ef
Don't use hardcoded ports in PreferHostingUrls tests ( #1701 ).
2017-04-17 20:47:46 -07:00
Cesar Blum Silveira
801a7c7652
Add copyright header to TransportSocketOptions.cs.
2017-04-17 20:47:29 -07:00
David Fowler
e4af3f7e35
Expose a UseTransportThread property on KestrelServerOptions ( #1695 )
...
- This property will force Kestrel to use whatever scheduler the transport
used when write and read callbacks are fired. The default value is false so
all calls to user code including connection adapters, and the application function,
and cancellation token callbacks.
- Transports may expose configuration that changes what the transport thread is.
- Removed InternalKestrelServerOptions.cs
- Added a configurable UseSockets overload (even though there are no options yet)
- Remove RequiresDispatch from the IConnectionInformation
2017-04-17 12:58:28 -07:00
David Fowler
de6da7c757
Add ConfigureAwait(false) to test helpers ( #1699 )
...
* Add ConfigureAwait(false) to test helpers
2017-04-17 11:33:27 -07:00
David Fowler
85d883456b
Remove Reset from IHttpParser ( #1700 )
...
* Remove Reset from IHttpParser
- The parser isn't stateful and doesn't need it
2017-04-17 00:37:40 -07:00
David Fowler
31cc1e5018
Fix extra space
2017-04-16 09:25:28 -07:00
David Fowler
6a403d231e
Clean up IThreadPool interface ( #1696 )
...
- Remove tcs completion methods
2017-04-15 19:04:44 -07:00
David Fowler
0ac478858d
Fixed benchmarks after refactoring
...
- Added MockTimeoutControl
2017-04-14 20:15:16 -07:00
David Fowler
051c251e53
Fixed flaky test
...
- Increase the interval to avoid chances of overlapping
2017-04-14 19:25:32 -07:00
Stephen Halter
8cd58b042c
Fix tests using Heartbeat
2017-04-14 16:26:27 -07:00
Stephen Halter
7aa7b3e0a9
Track connections until request processing completes
...
- Paves the way to allow request processing to continue during server shutdown
even after a client disconnects.
2017-04-14 16:26:27 -07:00