Commit Graph

53 Commits

Author SHA1 Message Date
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
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
John Luo 168f4770f4 Reacting to new IServer and IHttpApplication design 2015-12-01 13:03:46 -08:00
Ben Adams 2937fc3c98 OnConnection->OnConnectionAsync
Resolves  #433
2015-11-29 03:57:47 +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 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
Stephen Halter b73e42b617 Abort request on any write failure 2015-11-16 16:03:53 -08:00
Stephen Halter 062caf16be Support for IHttpRequestLifetimeFeature 2015-11-16 16:03:50 -08:00
Ben Adams ea6f6b10dc Don't capture connection on closure 2015-11-01 13:27:17 +00:00
Troy Dai e9a6061023 Make Frame implements IHttpConnectionFeature
Provide RemoteIPAddress as well as RemotePort
2015-10-29 10:08:35 -07:00
Troy Dai a1e4e022b9 Clean up 2015-10-21 22:08:03 -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 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
Louis DeJardin 99fc7e4e50 Moving the Start/Stop logic into Frame.
Also formalizes the relationship between the function's Task and
how it relates to graceful shutdown. Specifically how it relates
to finishing the requests currently in progress.
2015-09-25 12:49:26 -07:00
Louis DeJardin 844c791b16 Processing function should return Task 2015-09-25 12:49:23 -07:00
Louis DeJardin ff0affe34d Removing _frameTask and fixing Task.Run argument 2015-09-25 12:49:19 -07:00
Louis DeJardin 30ec2cb0b1 Harden framing epilog
* Connection no longer needes Frame's processing Task
* Any exceptions from unusual processing is logged
2015-09-25 12:49:19 -07:00
Louis DeJardin 04f6446a50 Updates for PR feedback 2015-09-25 12:49:18 -07:00
Louis DeJardin d3a87c4c14 Removing MessageBodyExchanger base class 2015-09-25 12:49:17 -07:00
Louis DeJardin e5a3bda3a2 Progress on flow control
* Dealing with race conditions
* Reworking iterator methods
* Shutdown and Close need to be passed throught the write-behind mechanism
2015-09-25 12:49:15 -07:00
Louis DeJardin 4193c92ba7 Fixing merge conflicts 2015-09-25 12:49:15 -07:00
Louis DeJardin 1f6aaebeda Changing flow control for incoming data
SocketInput is now awaitable
Input buffers are slab-allocated and pinned from large object heap
Request frame parsing is offloaded from libuv thread
2015-09-25 12:49:14 -07:00
Stephen Halter f14af1f409 Don't swallow too many exceptions
- Swallowing too many exceptions can end up hiding issues in
  Kestrel itself. It's better to let the process die.
- If we want to handle certain exceptions we should be as
  specific as possible with our try/catch blocks.
2015-09-16 18:18:55 -07:00
Stephen Halter 1ebf98d40d Log message style changes
- Disabled some log messages for possibly being too verbose.
- Don't log ConnectionReadFin when there is an error.
2015-09-10 11:41:25 -07:00
Stephen Halter 0ef096b41c Increment connection id for logging 2015-09-10 11:41:22 -07:00
Stephen Halter dc08062545 Merge branch 'drussilla/add-logging' into dev
Conflicts:
	src/Microsoft.AspNet.Server.Kestrel/Http/Connection.cs
	src/Microsoft.AspNet.Server.Kestrel/Http/ListenerSecondary.cs
2015-09-09 11:28:09 -07:00
Stephen Halter 2041e4d08b Prevent pipes from being closed prematurely on OS X and Linux
This change fixes the in-process marshalling of TCP handles on Mac and Linux
that is used to support having multiple threads accepting connections from
multiple loops.

On these two platforms, the ReadStart callback somtimes gets called with a
status and pipe_pending_count equal to zero. Now when the status is zero
just exit the callback without closing the pipe.

This change more closely follows the example at
https://nikhilm.github.io/uvbook/processes.html#sending-file-descriptors-over-pipes
2015-09-08 16:21:45 -07:00
Ivan Derevyanko a93a66fe7c Replace Trace.WriteLine with ITraceLogger 2015-09-09 00:26:26 +02:00
Ivan Derevyanko 6d47227975 KestrelTrace refactored and added to the ServiceContext. Close aspnet/KestrelHttpServer#141 2015-09-05 18:17:17 +02:00
Louis DeJardin 3bbb77f9d0 Alphabetizing using statements 2015-09-02 20:31:11 -07:00
Louis DeJardin b25d2d9772 Continued updates for #184
* Reordering members
- Fields
- Constructors
- Properties
- EverythingElse
- NestedTypes

* Removing commented code
2015-09-02 20:08:54 -07:00
Louis DeJardin 46604d68b3 Initial commit for style cleanup #184
* adding private keyword to fields
* one type per file
2015-09-01 22:25:51 -07:00
Stephen Halter 32c4f314b6 Lock around Connection.End to make it thread-safe 2015-08-14 12:17:06 -07:00
Stephen Halter c0cc511b5b Prevent access to closed socket in in Connection.End 2015-08-14 11:49:45 -07:00
Stephen Halter b162202519 Properly close keep alive connections 2015-08-14 11:49:43 -07:00
Louis DeJardin ceeb4edabd Adding UvPipeHandle 2015-07-24 13:50:10 -07:00
Stephen Halter 4b66edc4fe Move non-nested classes and interfaces to their own files 2015-07-06 17:48:58 -07:00
N. Taylor Mullen 063fb64c8b Update LICENSE.txt and license header on files. 2015-05-01 13:53:45 -07:00
Louis DeJardin 836be5565a Using weak gchandles from native to managed
See #15
2014-07-08 14:51:13 -07:00
Louis DeJardin 21778f631a Guarding against more read_cb cases 2014-07-07 14:01:02 -07:00
Louis DeJardin 8624b82b2b Improving callback exception support
Also renaming KestralTests to KestrelTests
2014-07-07 13:08:25 -07:00
Louis DeJardin e4b9bd265c Adjusting Kestrel to run cross platform 2014-06-27 20:01:44 -07:00
Louis DeJardin 9c7cb6a958 Adding some tests for Http11
Requires updating to test utilities
Adding initial EventSource to try to see some order of events
2014-06-11 17:09:25 -07:00
Louis DeJardin 660babcd7f Adding core clr configurations 2014-06-10 00:29:16 -07:00
Louis DeJardin ebd6af0fd6 Trying to get 100 Continue working again 2014-06-08 01:03:56 -07:00