David Fowler
6795ca2f78
Make the char array for utf8 decoding smaller
2016-08-31 18:54:15 -07:00
Stephen Halter
1ecef8094a
Make Kestrel's response buffer limit configurable
2016-08-30 16:01:42 -07:00
Stephen Halter
acfcafb6e1
Ensure MockLibuv.OnPostTask doesn't complete too early
2016-08-29 20:53:00 -07:00
Stephen Halter
0742d113be
Make all calls to ThreadPool.QueueUserWorkItem through IThreadPool
...
- This allows SocketOutputTests to cause QUWI to exec synchronously
- To avoid allocations, the logger can't be captured making it "unsafe"
2016-08-29 20:52:47 -07:00
Stephen Halter
08d7f66108
Merge branch 'benaadams/less-unsafe' into dev
2016-08-26 14:44:18 -07:00
Ben Adams
be51e5aecb
Remove unneeded unsafe modifiers
2016-08-25 08:07:15 +01:00
Ben Adams
7dc0a8c7bd
Return count from trywrite
2016-08-25 07:58:36 +01:00
Ben Adams
af73e519c1
Comment inlinability changes
2016-08-25 07:53:01 +01:00
Ben Adams
40636998d7
Improve inlinability of libuv success checking
2016-08-21 13:48:35 +01:00
Stephen Halter
7bd30ea693
Log all startup errors in KestrelServer
2016-08-18 14:52:26 -07:00
Stephen Halter
972be6e8c1
Disable automatic chunking for all non keep-alive requests
...
- Fixes a bug where Upgrade requests (e.g. WebSockets) would be chunked
- Allows chunking to be disabled by setting "Connection: close" on the response
2016-08-17 12:39:18 -07:00
Stephen Halter
16fbb94c44
Automatically chunk and set 0 Content-Length for non keep-alive responses
2016-08-15 16:27:54 -07:00
Stephen Halter
5f4e60bf8d
Always set "Connection: close" header for non keep-alive responses
2016-08-15 16:27:54 -07:00
Cesar Blum Silveira
08a91f17bf
Call OnStarting and OnCompleted callbacks in LIFO order ( #1042 ).
2016-08-10 14:52:05 -07:00
Cesar Blum Silveira
08f98f4790
Add header limit options ( #475 ).
2016-08-09 12:31:39 -07:00
Cesar Blum Silveira
a5aacd6307
Throw when setting OnStarting after response has already started ( #806 ).
2016-08-08 11:38:06 -07:00
Cesar Blum Silveira
140dc6fcf5
Add obsoletion reason for KestrelServerOptions.MaxRequestBufferSize.
2016-08-04 10:46:42 -07:00
Stephen Halter
9727a4db86
Improve the performance of connection filters
...
- Buffer connection filter input less by using ProducingStart/Complete
- Simplify FilteredStreamAdapter
2016-08-03 16:45:39 -07:00
Stephen Halter
5aee524768
Ensure Begin/End Read/Write methods are correctly implemented
...
- Add Begin/End Write methods to FrameResponseStream
- Fix state check of Begin/End Read methods in FrameRequestStream
2016-08-03 16:45:39 -07:00
Stephen Halter
4337d2a4a7
Implement Begin/End Read/Write methods in LibuvStream
2016-08-03 16:45:39 -07:00
Cesar Blum Silveira
8836eec7d8
Limit request line length ( #784 ).
2016-08-03 15:39:16 -07:00
Stephen Halter
dfe12223b8
Ensure HTTPS handshake errors aren't logged on socket close
2016-08-03 15:21:57 -07:00
Stephen Halter
1020d69171
Better logging for connection errors during HTTPS handshake
2016-08-03 11:15:15 -07:00
Mike Harder
4ece3f4b68
Change "String." to "string." to match coding convention
2016-08-01 11:09:31 -07:00
Stephen Halter
00a540dcb8
Merge branch 'benaadams/more-block-collect-info' into dev
2016-07-28 16:51:35 -07:00
Cesar Blum Silveira
2244f190e1
Merge branch 'benaadams/exceptions' into dev
2016-07-25 10:31:32 -07:00
Stephen Halter
3a67cb9df5
Merge branch 'benaadams/enum-rather-than-string' into dev
2016-07-25 10:30:33 -07:00
Stephen Halter
b5c117695e
Stop KestrelThreads in parallel
2016-07-25 10:29:01 -07:00
Stephen Halter
dc12f3150e
Wait for graceful shutdown now that it usually works
...
- Unreference the async handle to allow the loop to stop without walking first
- Wait before walking open handles to allow earlier uv_close calls to complete
2016-07-25 10:29:01 -07:00
Ben Adams
51288e13f8
Enum to singular
2016-07-22 22:25:03 +01:00
Ben Adams
0a1ea124ee
Use HttpVersionType enum rather than string compare
2016-07-22 21:34:49 +01:00
Ben Adams
0620ce5a2f
Consolidate BadHttpRequestException messages
2016-07-22 21:19:44 +01:00
Ben Adams
7c811ff568
Only allocate key string when unknown
2016-07-22 20:50:43 +01:00
Stephen Halter
27f8c8dca2
Ensure libuv handles get disposed properly after binding errors
2016-07-22 12:26:27 -07:00
David Fowler
0e7967a7fc
Allocate things per KestrelThread instead of per listener
...
- Moved things that have loop affinity to KestrelThread like
WriteReqPool, MemoryPool and the ConnectionManager
- Changed on the listeners to only kill the ListenSocket, not the
connections on dispose
- Moved connection disposal to KestrelThread.Stop
- Simplify the connection manager logic so it's possible to walk and
wait in a single call
2016-07-21 22:17:18 -07:00
Stephen Halter
24fa5c0264
Merge pull request #938 from NVentimiglia/dev
...
As an American, I had to correct the spelling of 'independent'
2016-07-21 17:17:47 -07:00
Cesar Blum Silveira
3c0e0f8d88
Always throw same exception type on read after connection error ( #975 ).
2016-07-21 16:33:56 -07:00
Pavel Krymets
6bcf7643df
Do not allocate large write task queues ( #1005 )
2016-07-21 16:05:50 -07:00
Pavel Krymets
7b7e2889ce
Allocate less in GetIPEndPoint ( #1004 )
2016-07-21 12:17:55 -07:00
Ben Adams
f42316af7f
Remove Environment.StackTrace as crashing tests
2016-07-21 01:44:23 +01:00
Ben Adams
aa385a1317
Use Environment.NewLine and Environment.StackTrace
2016-07-21 01:13:27 +01:00
Ben Adams
7b8abf5a3e
Improved Memoryblock tracking
...
Also fixed 3 tests that weren't handling block properly
2016-07-21 01:13:27 +01:00
David Fowler
3078f4914c
Removed unneeded things from Connection
2016-07-18 22:19:45 -07:00
David Fowler
8399910a6e
PR feedback
2016-07-15 15:16:03 -07:00
David Fowler
14717f2a3f
Always allocate the socket closed tcs
2016-07-15 15:16:03 -07:00
David Fowler
142685c0fb
Remove state lock from Connection
...
- Remove the state lock by creating the frame earlier
- Set properties on the frame that need to be set before calling start.
- Don't rely on the copy ctor of the *Context hierarchy to set
*everything*
2016-07-15 15:16:03 -07:00
Cesar Blum Silveira
3bb7f4e2c4
Treat ECONNRESET as a connection error ( #934 ).
2016-07-15 14:53:21 -07:00
Doug Bunting
82a0a99107
One build to rule them all
...
- well, at least VS and command-line builds will share output
- part of aspnet/Coherence-Signed#277
2016-07-07 12:07:14 -07:00
Cesar Blum Silveira
edd247b8e2
Merge branch 'khellang/status-451' into dev
2016-07-07 11:42:15 -07:00
Cesar Blum Silveira
176b599854
Merge branch 'khellang/status-308' into dev
2016-07-07 11:35:24 -07:00