John Luo
99ccae64eb
Updating test TFMs for custom test discovery
2016-02-18 16:50:53 -08:00
Chris R
aef612bdac
Add IHttpConnectionFeature.ConnectionId.
2016-02-18 11:10:55 -08:00
Cesar Blum Silveira
aa48ad2933
Merge branch 'benaadams/loopback-fastpath' into dev
2016-02-18 10:52:42 -08:00
Stephen Halter
bc56d11d8c
Set IsBackground property to true on libuv Threads for non-debug builds
...
- If libuv doesn't shutdown as expected, the process will still stop. Thanks @benaadams!
- Address other minor PR feedback.
2016-02-17 16:40:05 -08:00
Stephen Halter
04736e1d09
Remove FrameworkSkipConditions for Mono
...
- Maybe things are better now with graceful shutdown *crosses fingers*
2016-02-17 16:05:37 -08:00
Stephen Halter
f4bb8d5eff
Verify that memory pool blocks aren't leaked in tests
2016-02-17 16:05:34 -08:00
Stephen Halter
304016fc3b
Close UvAsyncHandle properly to avoid zombie threads
...
- Even when safe handles are disposed explicitly, ReleaseHandle is sometimes
called on another thread which breaks uv_close.
- Ensure we close the UvAsyncHandle the uv loop so that the second call
to uv_run always completes without a timeout/Thread.Abort.
- Re-enable some tests. Add skip conditions for those that aren't passing.
2016-02-17 16:05:32 -08:00
Stephen Halter
54caf3071c
Close connections as quickly and gracefully as possible on shutdown
...
- Make the time given for requests to complete gracefully configurable.
- Complete all async reads so calling code can re-check whether to stop
request processing and exit if in between requests.
- Don't wait for a FIN from the client since some browsers (e.g. IE & Chrome)
will take a long time to send one.
- Ensure all ConnectionFilters complete before the memory pool is disposed.
- Ensure blocks get returned even when a ConnectionFilter produces a failed read
2016-02-17 16:05:23 -08:00
Ben Adams
ffa8f3f092
Helper function for test socket creation
2016-02-17 03:59:59 +00:00
Ben Adams
020e0b9dc5
Enable TCP Loopback Fast Path (Windows)
...
Enable TCP Loopback Fast Path; where the IP layer is skipped, for lower
latency for localhost comms, like HttpPlatformHandler+IIS reverse proxy
http://blogs.technet.com/b/wincat/archive/2012/12/05/fast-tcp-loopback-performance-and-low-latency-with-windows-server-2012-tcp-loopback-fast-path.aspx
Have to do it this way due to open issue in libuv
Loopback fast path: libuv/libuv#489
Related: "Confirm HttpPlatformHandler uses Fast TCP Loopback"
aspnet/IISIntegration#29
2016-02-14 04:44:20 +00:00
Ben Adams
f8aa1a676a
Pass ServerInformation as property of ServiceContext
2016-02-13 05:51:54 +00:00
Ben Adams
c293bbbd1a
Reuse headers to prevent values moving to higher GC gens
2016-02-13 01:16:17 +00:00
Kiran Challa
dfcd6a6227
Enable tests to run using dotnet xunit runner
2016-02-09 23:48:09 -08:00
Cesar Blum Silveira
6757a31fd2
Build with dotnet ( #571 ).
2016-02-01 14:37:47 -08:00
Cesar Blum Silveira
1209eca3fa
Normalize request path to NFC and resolve dot segments ( #273 ).
2016-01-28 15:29:29 -08:00
Stephen Halter
d616f0ccb0
Fix FindFirstEqualByte tests
...
- On some platforms, the bytes array was not large enough to fill a vector.
Ex: https://travis-ci.org/aspnet/KestrelHttpServer/builds/105277870#L2633
- Additionally test FindFirstEqualByte with only one bit set in the array
2016-01-27 14:32:34 -08:00
Brennan
15ed03eb26
React to Logging API changes
2016-01-27 14:25:52 -08:00
Stephen Halter
a2fe59fb2c
Speed up unit tests
...
- Remove unnecessary uses of Task.Delay
- Change all usages to CancellationToken.None to default(CancellationToken)
for consistency
2016-01-27 13:01:44 -08:00
Ben Adams
00b8a13b55
Merge+rename+rename resolve
2016-01-26 11:33:14 +00:00
Ben Adams
9f2d685cbf
Merge remote-tracking branch 'refs/remotes/aspnet/shalter/always-immediate' into combined-fixes
2016-01-26 02:15:56 +00:00
Stephen Halter
7570da9daa
Flush chunked writes before the entire response completes
...
Ensure chunked writes force an "immediate" write by removing the now
unused immediate parameter from ISocketOutput.Write
2016-01-25 10:34:15 -08:00
Stephen Halter
735c0fbbef
Added new test to verify failed writes complete all pending write tasks
...
- Changed MockLibuv to never fall back to real libuv methods.
- Fixed EngineTests.ConnectionCanReadAndWrite
2016-01-23 10:17:07 +00:00
Ben Adams
a97cb81f92
MockConnection Abort
2016-01-23 10:17:03 +00:00
Ben Adams
73bb0ab5b8
SocketOutput Cancellation handling
2016-01-23 10:17:02 +00:00
N. Taylor Mullen
b062f851dc
Rename AspNet 5 file contents.
...
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:23:51 -08:00
N. Taylor Mullen
3cfe2f3070
Rename AspNet 5 folders and files.
...
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:23:44 -08:00
Pranav K
40824999c6
Reacting to CoreCLR package version change
2016-01-20 20:58:22 -08:00
Brennan
63cd6149d1
Removed IsLocal from ConnectionInfo
2016-01-19 08:37:47 -08:00
John Luo
9885377148
Reacting to hosting rename
2016-01-17 16:34:17 -08:00
Stephen Halter
129a5ad474
Bypass LibuvStream if no ConnectionFilter wraps it
2016-01-14 15:28:54 -08:00
Stephen Halter
e5ad019575
Revert "Merge branch 'benaadams/copyfrom-perf' into dev"
...
This reverts commit ce61282320 , reversing
changes made to 7ef70bc145 .
2016-01-14 11:47:23 -08:00
Stephen Halter
ce61282320
Merge branch 'benaadams/copyfrom-perf' into dev
2016-01-12 14:24:35 -08:00
Ben Adams
caaf9d473b
Faster CopyFrom
2016-01-12 21:43:37 +00:00
Stephen Halter
7ef70bc145
Merge branch 'anderman/FindFirstByteFast' into dev
2016-01-12 12:51:50 -08:00
Stephen Halter
ab5ef547e1
Make chunked writes atomic
2016-01-11 16:53:46 -08:00
Thom Kiesewetter
1b09a76ebb
Find First Byte Fast
2016-01-11 08:31:52 +01:00
Cesar Blum Silveira
2ce28d8f13
Verify OnComplete is called when OnStarting isn't ( #470 ).
2016-01-08 11:50:59 -08:00
Stephen Halter
b63dd40efb
Protect SocketInput against concurrent consumption
2016-01-08 11:14:15 -08:00
Stephen Halter
f3a39d98da
Merge branch 'benaadams/socket-input' into dev
2016-01-08 11:12:43 -08:00
John Luo
b826491234
Reacting to new hosting API
2016-01-07 11:54:27 -08:00
Stephen Halter
ffd950966e
Merge branch 'benaadams/string-construct' into dev
2016-01-06 12:14:15 -08:00
Ben Adams
1eda5178de
Seek perf + faster non vector path
2016-01-05 09:37:49 +00:00
Cesar Blum Silveira
7cc51959d9
Merge branch 'Anderman/TakeStartLine' into dev
2016-01-04 13:54:51 -08:00
Cesar Blum Silveira
a53949c33e
Add CORS headers to known headers ( #389 ).
2016-01-04 12:26:21 -08:00
Ben Adams
afe944c053
Simplify SocketInput, remove locks, only use pooled blocks
2016-01-02 03:50:55 +00:00
David Fowler
4f8ec86b54
React to HttpAbstractions changes
2015-12-31 14:04:47 -08:00
Stephen Halter
5296d89337
Merge branch 'benaadams/messagebody.for' into dev
2015-12-30 17:38:48 -08:00
Thom Kiesewetter
36e9e8759a
Optimize TakeFirst Line with Known method and Version
2015-12-31 01:24:59 +01:00
Ben Adams
ea3e64ab87
Loop unrolled direct string inject
2015-12-30 23:09:59 +00:00
Cesar Blum Silveira
6fbb9a0cfe
Cleanup: private embedded types and readonly where appropriate ( #187 ).
2015-12-30 12:47:13 -08:00
Ben Adams
4e9f8366cf
Move stream reuse test to EngineTests
2015-12-28 22:36:28 +00:00
Ben Adams
11b360b667
Faster MessageBody.For
2015-12-26 07:11:54 +00:00
John Luo
9edd6f60b9
Missed update after rebasing
2015-12-18 14:48:13 -08:00
John Luo
bd10d507f8
Reacting to new Hosting API
2015-12-17 15:08:17 -08:00
Ben Adams
186f6d0a05
Horizontal initialize repeat vectors once
2015-12-17 10:18:20 +00:00
Stephen Halter
5d6fdc5eb5
Merge branch 'benaadams/vector.dot' into dev
2015-12-16 17:39:40 -08:00
Ben Adams
9fa9c45eda
ReuseStreams config and tests
2015-12-16 21:27:07 +00:00
Ben Adams
f5e45accac
Amortize Stream Costs
2015-12-16 20:51:44 +00:00
Cesar Blum Silveira
349af50977
Pre-allocate standard method and version strings.
2015-12-16 10:47:59 -08:00
Ben Adams
4460cd3470
Don't use Vector<byte>.Dot
2015-12-16 16:24:45 +00:00
Stephen Halter
3e42904096
Pool UvWriteReqs instead of SocketOutput.WriteContexts
...
- This allows all connections accepted by the same thread to share a pool
2015-12-10 20:31:30 +00:00
Stephen Halter
f42bb02f24
Merge branch 'benaadams/server-crash' into dev
2015-12-10 12:18:13 -08:00
Ben Adams
9e8b07ecf8
Error concurrent reads gracefully
2015-12-10 16:25:06 +00:00
John Luo
fd33475c05
Ignore null valued headers #429
2015-12-09 17:23:34 -08:00
Stephen Halter
3e2c090d7c
Skip more tests on Mono to prevent hangs
...
- It seems like I missed some FrameworkSkipConditions when I merged these tests
2015-12-09 16:06:00 -08:00
Kristian Hellang
4cc070fe28
Added some KestrelServer tests
2015-12-10 00:00:38 +01:00
Kristian Hellang
6fbc3b8832
Added null check in KestrelServerInformation
2015-12-08 10:58:42 +01:00
Stephen Halter
90ece575f7
Merge branch 'khellang/configurable-thread-count' into dev
2015-12-08 00:13:56 -08:00
Stephen Halter
d0dca75241
Remove count parameter from ISocketOutput.ProducingComplete
...
- This makes the calling code cleaner with a (hopefully) minimal pref impact
2015-12-08 00:09:24 -08:00
Kristian Hellang
8d6a999bc3
Made NoDelay configurable
2015-12-07 22:09:04 +01:00
Kristian Hellang
12ee74c09c
server.threadCount -> kestre.threadCount
2015-12-07 22:00:03 +01:00
Kristian Hellang
bfad32f223
Added test for Addresses
2015-12-07 15:38:08 +01:00
Kristian Hellang
50f95cbbc0
Added some tests for ThreadCount
2015-12-07 15:38:07 +01:00
Ben Adams
b1e8f0cdea
Add IThreadPool interface
2015-12-03 10:37:52 +00:00
Ben Adams
5ae9b3c383
Log user code threadpool continuation execptions
2015-12-03 09:56:21 +00:00
Stephen Halter
7cbbf68e9d
Merge branch 'benaadams/connectionfilter' into dev
2015-12-02 19:21:05 -08:00
Ben Adams
a85f37697c
Add SSL+Upgrade regression test
2015-12-03 02:10:37 +00:00
John Luo
168f4770f4
Reacting to new IServer and IHttpApplication design
2015-12-01 13:03:46 -08:00
Cesar Blum Silveira
921c338a40
Support PathBase ( #214 ).
2015-11-30 16:42:02 -08:00
Ben Adams
2937fc3c98
OnConnection->OnConnectionAsync
...
Resolves #433
2015-11-29 03:57:47 +00:00
Stephen Halter
07c0b414f0
Merge branch 'benaadams/faster-headers' into dev
2015-11-23 15:10:24 -08:00
Cesar Blum Silveira
e4fd91bb68
Fix hang on Connection: close requests. ( #406 )
2015-11-20 20:43:52 -08:00
Ben Adams
feb40402de
merge preamble-output, socket-output
2015-11-21 04:18:06 +00:00
Ben Adams
a3173c487a
Precomputed header bytes
2015-11-21 00:22:44 +00:00
Stephen Halter
2572256d3f
Use MemoryPool2 for SocketOutput Buffers
...
Add ProducingStart and ProducingComplete methods to ISocketOutput.
These new methods can help prevent double buffering when encoding.
2015-11-20 04:41:33 -08:00
Cesar Blum Silveira
307e020703
Don't crash the server if a connection filter throws synchronously.
2015-11-19 13:27:43 -08:00
Master T
592d802fde
Add test for https scheme, code cleanup
2015-11-18 05:06:30 +01:00
Master T
8e910baf04
Improve based on pull request feedback
2015-11-18 05:06:27 +01:00
Master T
bd30f28dfd
Implement client certificate authentication
2015-11-18 05:05:50 +01:00
David Fowler
b8f01cf674
Merge pull request #378 from benaadams/thread-count
...
Network thread count defaults
2015-11-17 07:34:29 -08:00
David Fowler
9c47796ec0
Merge pull request #312 from benaadams/MemoryPoolIterator2-GetString
...
Reduce GetString allocs and conversions
2015-11-16 20:13:38 -08:00
Ben Adams
4dc4346fca
Reduce GetString allocs and conversions
2015-11-17 03:46:09 +00:00
Stephen Halter
b73e42b617
Abort request on any write failure
2015-11-16 16:03:53 -08:00
Stephen Halter
874bd29ce1
Throw IOExceptions instead of ODEs after a request is aborted
2015-11-16 16:03:51 -08:00
Stephen Halter
062caf16be
Support for IHttpRequestLifetimeFeature
2015-11-16 16:03:50 -08:00
Cesar Blum Silveira
a3a49d21b8
Reset Frame.Scheme on each request ( #366 ).
2015-11-13 16:05:10 -08:00
Ben Adams
d493667851
Enable multi loop+thread tests
...
Resolves #232
2015-11-13 20:00:32 +00:00
Cesar Blum Silveira
2ac5e4c790
Remove unneeded dependency System.Net.NameResolution.
2015-11-13 11:31:25 -08:00
Cesar Blum Silveira
dd1ffa5f84
Skip some tests on Mono to prevent CI hangs.
2015-11-13 11:07:21 -08:00
Stephen Halter
59cdd60af6
Don't pre-complete too many writes
2015-11-12 17:08:43 -08:00
Stephen Halter
8ad7b7125a
Merge branch 'benaadams/slower-ci-date' into dev
2015-11-12 16:33:25 -08:00
Stephen Halter
0ead24680d
Merge branch 'benaadams/reduce-log-boxing' into dev
2015-11-12 16:01:06 -08:00
N. Taylor Mullen
86e1924cad
Remove System beta tag in project.json for coreclr packages.
2015-11-12 12:23:45 -08:00
Ben Adams
ade0dbadb3
Slow date wait for CI
...
Resolves #339
2015-11-11 13:06:15 +00:00
Stephen Halter
55f6f21d5a
Build Microsoft.AspNet.Server.Kestrel.Https for dotnet5.4
2015-11-10 17:15:35 -08:00
Ben Adams
d32937eafe
Add tests for non-immediate byte counting
2015-11-10 23:17:40 +00:00
Ben Adams
34cec3448d
SocketOutput to Tasks
2015-11-10 19:53:43 +00:00
Ben Adams
c0f82765aa
Move logging to new style
2015-11-10 10:43:51 +00:00
Pawel Kadluczka
0bfc97e46f
Fixing test so that it runs on CoreClr
2015-11-10 01:44:42 +00:00
Cesar Blum Silveira
889a24278d
Merge branch 'release' into dev
2015-11-02 17:36:41 -08:00
Cesar Blum Silveira
eaee76dfeb
Strong name everything.
2015-11-02 16:16:55 -08:00
John Luo
facf3ad0da
Missed update for test when reacting to hosting changes
2015-10-30 16:18:50 -07:00
John Luo
b466c3b7d7
Reacting to Hosting changes
2015-10-30 14:19:55 -07:00
Pavel Krymets
af2c32f612
React to xunit change. Fix build error
2015-10-30 10:52:59 -07:00
Stephen Halter
777f523135
Update System.Net.Sockets dependency in test project to 4.1.0
...
- This only affects the test project
- The Socket.*Async extension methods are available for net46 but not net451
so we ifdef.
2015-10-29 14:31:44 -07:00
Troy Dai
e9a6061023
Make Frame implements IHttpConnectionFeature
...
Provide RemoteIPAddress as well as RemotePort
2015-10-29 10:08:35 -07:00
moozzyk
c1b21b89d5
Removing dependency on Microsoft.Extensions.PlatformAbstractions
2015-10-27 01:40:28 -07:00
Stephen Halter
fb01ea3918
Consume the full request body when the app does not
2015-10-26 11:13:07 -07:00
Stephen Halter
094b8efbf8
Properly handle headers with empty values
2015-10-25 01:40:22 -07:00
Troy Dai
52f4fa91e3
Unescape string in memory
...
1. In place unescape;
1. UTF-8 verification;
2. MemoryPoolIterator2.Put
3. Tests
2015-10-23 15:26:59 -07:00
Ryan Nowak
f88631efb3
React to breaking changes in StringValues
2015-10-23 15:05:09 -07:00
David Fowler
151b0f3a16
Fixed remaining namespace changes
2015-10-23 01:50:35 -07:00
Pavel Krymets
eb2c3a1ce8
Rename Microsoft.Runtime.Abstractions to Microsoft.Extensions.PlatformAbstractions
2015-10-22 18:22:05 -07:00
Stephen Halter
8d107b22ae
Socket.Disconnect throws a PlatformNotSupportedException on coreclr/linux
...
#266
2015-10-21 12:57:27 -07:00
Pavel Krymets
f8fd2f9ac9
React to hosting changes
2015-10-21 10:23:53 -07:00
Stephen Halter
c809beec18
Don't allocate Exceptions unnecessarily
...
- Allocate Exceptions in the ReadStart callbacks if necessary instead
of in UvStreamHandle.
- This also fixes a bug in ListenerSecondary where it should have
previously been looking at the error code instead of the read count.
#237
2015-10-16 15:25:37 -07:00
Stephen Halter
8e818e3549
Address PR feedback
2015-10-15 16:52:37 -07:00
Stephen Halter
513abb4561
Log errors in OnStarting and OnCompleted
2015-10-15 15:35:38 -07:00
Stephen Halter
b98425d3b1
Log unhandled exceptions thrown from the AppFunc
2015-10-15 15:35:36 -07:00
Stephen Halter
611eaeb761
Add test for large blocks not taken from slab
2015-10-14 16:11:38 -07:00
David Fowler
6aaa3cbe06
Use IApplicationLifetime.StopApplication instead of
...
IApplicationShutdown.
React to hosting changes 374526b270
2015-10-14 01:09:11 -07:00
David Fowler
ef38f5589d
React to hosting changes to IApplicationLifetime
2015-10-14 00:46:18 -07:00
Kiran Challa
dcdf778bcc
Reacting to testing changes
2015-10-13 05:24:25 -07:00
Stephen Halter
a9de028ba3
Enable the LargeUpload functional test now that #234 is resolved
2015-10-09 15:58:14 -07:00
Louis DeJardin
cbc3b4e6f5
PR Feedback
...
* Sorting namespaces
* Removing `as` casting for Frame's implemented interfaces
2015-10-09 13:10:27 -07:00
Louis DeJardin
dc0eb679ae
Updating unit tests for Frame IFeatureCollection update
2015-10-09 13:09:37 -07:00
Stephen Halter
0c1b05ce2d
Merge branch 'release' into dev
2015-10-08 16:40:13 -07:00
Stephen Halter
7aa85ae722
Unit test for the IsEnd fix in the previous commit
2015-10-08 16:37:17 -07:00
Stephen Halter
24c0a8e142
Fix MemoryPoolIterator2.CopyTo's block traversal
...
- This fix prevents large request streams from being corrupted
#234
2015-10-08 16:16:41 -07:00
Chris R
0b36382448
Merge pull request #236 from benaadams/sanitize-loops
...
Sanitize loops
2015-10-08 10:05:17 -07:00
Ben Adams
0a297688b4
Use Jit recongised, standard loop construct
...
For bounds check elimination.
Convey intent more clearly; eliminate bounds checks
2015-10-08 12:31:21 -04:00
Stephen Halter
cd1c80daa7
Fix EngineTests that weren't using the appropriate ServiceContext
...
- This meant that the affected tests weren't run with the NoOpConnectionFilter
2015-10-07 17:25:10 -07:00
Chris R
1f50f4c2a8
#231 bind to IPv6Any, add functional tests.
2015-10-05 16:13:11 -07:00
Stephen Halter
8fc8307ad2
Embed private key with the test X.509 certificate
...
- Use the PKCS #12 certificate format to enable this
2015-10-05 03:17:34 -07:00
Stephen Halter
0844369f5f
Add unit tests for ConectionFilters and HTTPS
...
- Run all the EngineTests with and without a ConnectionFilter
2015-10-05 03:16:36 -07:00
Stephen Halter
2f3a00625a
Initial work to support HTTPS using SslStream
...
- Add extension method "UseKestrelHttps" to IApplicationBuilder
2015-10-05 03:15:18 -07:00
Pranav K
49451fb11e
Renaming Microsoft.Framework.* -> Microsoft.Extensions.*
2015-10-03 15:44:45 -07:00
moozzyk
d2f282f54f
Consuming Libuv from NuGet package
...
Fixes #50
2015-09-26 18:00:50 -07:00
Stephen Halter
f0137b7b9e
Bind to specific IP addresses if provided with any
...
This still only applies to IPv4.
#98
2015-09-25 16:26:01 -07:00
damianedwards
a7b65efa75
CR feedback
2015-09-25 14:59:47 -07:00