Commit Graph

298 Commits

Author SHA1 Message Date
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 28250d9981 Providing Path to application 2015-09-25 12:49:18 -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 7917569466 Changing chunked with exception test criteria 2015-09-25 12:49:16 -07:00
Louis DeJardin 52dc37eae7 Fixing a header parsing bug
When request header data arrives with \r\n split across packets
2015-09-25 12:49:16 -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
Louis DeJardin 557f6d6993 Refactoring response control flow
- Bring through both sync and async execution paths
- Remove callback pattern from from and socketoutput write calls
2015-09-25 12:47:51 -07:00
Stephen Halter 1e39473047 uv_pipe_connect returns void
This fix prevents Libuv.pipe_connect from throwing when the stack
memory that was previously incorrectly interpreted as the int return
value happens to be negative.

When pipe_connect threw, an assertion failure would follow since the
pipe handle would be closed prematurely.

http://docs.libuv.org/en/v1.x/pipe.html#c.uv_pipe_connect

#205
2015-09-25 11:40:40 -07:00
Stephen Halter ca8161466e Allow mock libuv to shutdown gracefully.
This speeds up SocketOutputTests and reduces the total test time on my
machine from 35 seconds to 25 seconds.
2015-09-24 17:20:39 -07:00
Brennan b9f26311ef Fix test dependency 2015-09-24 08:26:00 -07:00
Eilon Lipton c4bf10d6e9 Add third party notices for libuv
Fixes #218
2015-09-23 15:42:58 -07:00
Chris R 355bc01a15 Hosting#358 Move the default address into Hosting. 2015-09-22 11:56:46 -07:00
Ajay Bhargav Baaskaran 5354ce0a71 Enabling NuGetPackageVerifier 2015-09-21 10:40:36 -07:00
David Fowler 891b991a34 Use new packInclude feature to include native assets
- Now Kestrel won't break when people overwrite the build.cmd
2015-09-19 03:59:58 -07:00
N. Taylor Mullen 3470c6206a Update nuget.exe and corresponding feeds to v3. 2015-09-17 18:32:59 -07:00
Stephen Halter 6f8c040cfe Fix false positive in Standards Police warning warning SP1004
- "warning SP1004: namespaces not alphabetized"
- Any using statement can come after "using System;"
2015-09-17 00:51:43 -07:00
Stephen Halter 47323a88e1 Surface errors from Listener.StartAsync better
If CreateListenSocket fails, surface the original error instead of throwing a
NullReferenceException from Listener.Dispose().

#185
2015-09-16 18:19:01 -07:00
Stephen Halter 2d01f2752b Catch and log uv_accept errors
- This is also what is done by node.js
- "tcp, pipe: don't assert on uv_accept() errors (Ben Noordhuis)"

0685707bc6
2015-09-16 18:18:58 -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
Chris R 2e225b0db6 Hosting#331 Add IServerAddressesFeature. 2015-09-15 12:47:18 -07:00
Pranav K 78de14d248 Adding NeutralResourcesLanguageAttribute 2015-09-10 18:15:27 -07:00
Stephen Halter 958cc3eca3 Add missing arguments to LogDebug arguments in KestrelTrace 2015-09-10 12:40:16 -07:00
Stephen Halter 813127e7f6 Merge branch 'benaadams/negative-threads' into dev 2015-09-10 11:58:09 -07:00
Stephen Halter ec88e57f67 Remove commented code in KestrelTrace 2015-09-10 11:41:27 -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
Ben Adams dda5774a8b Throw exception if ThreadCount negative 2015-09-10 08:03:42 +01:00
Doug Bunting fea510f1d0 React to `xunit.runner.aspnet` package updates
- aspnet/aspnet.xunit@5a12e89
2015-09-09 19:45:47 -07:00
Ben Adams 887cf2c7be Negative thread count fix 2015-09-10 02:57:49 +01: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
Ivan Derevyanko ac77c11211 Make ConnectionCallback static again. 2015-09-09 02:13:49 +02:00
Ivan Derevyanko 2b2943d5b0 Restore static delegates 2015-09-09 01:27:44 +02: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 ed4850a2b1 Style fix 2015-09-05 18:32:16 +02:00
Ivan Derevyanko 6d47227975 KestrelTrace refactored and added to the ServiceContext. Close aspnet/KestrelHttpServer#141 2015-09-05 18:17:17 +02:00
David Fowler 8a6495364e Merge pull request #192 from Tragetaschen/patch-1
Fix bug #191 introduced by b25d2d9
2015-09-05 07:51:06 -07:00
Kai Ruhnau 5ee80e0155 Fix bug #191 introduced by b25d2d9 2015-09-05 12:29:00 +02:00
Stephen Halter f10c989d90 Add ServiceContext to make it easier to flow new services through ctors 2015-09-04 15:04:25 -07:00
Stephen Halter 1584d70e1f Clean up if an exception is thrown in the middle of ServerFactory.Start 2015-09-03 15:26:30 -07:00
Louis DeJardin c50aec1729 Adding comments to meaningless field names 2015-09-02 21:14:18 -07:00
Louis DeJardin dffd977c3f Fixing field names 2015-09-02 20:50:21 -07:00
Louis DeJardin 5c7007a4e9 Fixing member field name 2015-09-02 20:37:11 -07:00
Louis DeJardin 0859d82d6b Adding private keyword to private enums 2015-09-02 20:33:51 -07: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