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
325423de40
Sorting usings
2015-09-25 12:49:26 -07:00
Louis DeJardin
f89a586b75
Removing boilerplate-generated #region
2015-09-25 12:49:25 -07:00
Louis DeJardin
37f7dfd01f
Typo in comments
2015-09-25 12:49:25 -07:00
Louis DeJardin
c424b8437c
Renaming based on PR feedback
2015-09-25 12:49:24 -07:00
Louis DeJardin
844c791b16
Processing function should return Task
2015-09-25 12:49:23 -07:00
Louis DeJardin
091084cfe2
Refactoring MemoryPool class locations
...
Moving Iterator out into its own file rather than being a nested class
Moving pool classes into Infrastructure namespace instead of Http
2015-09-25 12:49:23 -07:00
Louis DeJardin
13defc5a32
Initialize Memory2 in ListenerContext
...
Better than initializing from multiple other classes
2015-09-25 12:49:22 -07:00
Louis DeJardin
13f46bb66b
Using multiple threads in SampleApp
2015-09-25 12:49:22 -07:00
Louis DeJardin
5ba1b9fb3c
Secondary listeners need to allocate their own memory pool
2015-09-25 12:49:21 -07:00
Louis DeJardin
6db3d9e645
Using specific exception types
2015-09-25 12:49:21 -07:00
Louis DeJardin
76b528e1d2
Adding comments to MemoryPool classes
2015-09-25 12:49:20 -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
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