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
Louis DeJardin
318f3b7145
Changing Trace.Assert to Debug.Assert
...
* Also Debug.Assert for unreturned memory blocks
2015-09-25 13:01:54 -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
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
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
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
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
cce9d8f09c
Make SocketOutput more testable
...
- Added a MockLibUv class
- Create a SocketOutputTests class
2015-07-28 16:57:22 -07:00
Louis DeJardin
e39fe60da0
Removing commented code
2015-07-24 16:19:15 -07:00
Louis DeJardin
b93845be19
Removing debug code
2015-07-24 15:25:44 -07:00
Louis DeJardin
42246fd51b
Using named pipes to dispatch connections to multiple threads
2015-07-24 13:50:13 -07:00
Louis DeJardin
ceeb4edabd
Adding UvPipeHandle
2015-07-24 13:50:10 -07:00
Peter Hsu
3aaae6964f
Fix NPE issue where UvShutdownReq being garbage collected before the shutdown callback executed
2015-07-14 10:36:34 -07:00
Stephen Halter
0670b7ae61
Ensure all the C# files have copyright notices
2015-07-06 17:49:00 -07:00
Stephen Halter
4b66edc4fe
Move non-nested classes and interfaces to their own files
2015-07-06 17:48:58 -07:00
Stephen Halter
29098d6383
Fix UvLoopHandle.ReleaseHandle on linux
...
Libuv.loop_close can clear the GCHandle pointer on linux
2015-06-17 17:53:56 -07:00
Stephen Halter
b43e5940e5
Gracefully shutdown even when there are open connections
2015-06-11 17:06:25 -07:00
N. Taylor Mullen
063fb64c8b
Update LICENSE.txt and license header on files.
2015-05-01 13:53:45 -07:00
Matt Ellis
ea636140c7
Allow Kestrel to boot when on CoreCLR and *NIX
...
With cross platform .NET Core support coming online, we need to update
our IsWindows check to not assume running on .NET Core means running on
Windows. Since CoreFX doesn't yet expose a method for doing this (they
are working on adding it back), we'll just call Uname and if that
returns an empty string assume that we are on Windows.
2015-04-09 23:58:03 -07:00
N. Taylor Mullen
06a82669f5
Update aspnet50/aspnetcore50 => dnx451/dnxcore50.
2015-03-08 12:51:12 -07:00
David Fowler
e421b3f01c
Throw better error when libuv can't be loaded
...
- Throw more specific exception for *nix machines
2014-12-26 21:24:35 -08:00
Louis DeJardin
e550d1f1ec
Updating Darwin OS detection
2014-10-20 16:11:48 -07:00
David Fowler
77d6318cfc
Updated to use the new target framework in project.json
2014-08-28 23:39:13 -07:00
Louis DeJardin
de6c32dc4b
Guarding against leaking GCHandles in read/write operations
...
See #19
2014-07-08 18:11:09 -07:00
Louis DeJardin
2da561cb7a
Garbage collecting safe handles need to queue the uv_close
...
All of the uv_* calls must be called on the original thread
the finalizer thread cleaning up safehandle classes needs
special handling
see #16
2014-07-08 16:02:09 -07:00
Louis DeJardin
836be5565a
Using weak gchandles from native to managed
...
See #15
2014-07-08 14:51:13 -07:00
Louis DeJardin
8624b82b2b
Improving callback exception support
...
Also renaming KestralTests to KestrelTests
2014-07-07 13:08:25 -07:00
Louis DeJardin
0f1a72e7e0
Tiny CLR won't tell you what the OS is. Assume tiny CLR is running on Windows.
2014-06-27 20:59:39 -07:00
Louis DeJardin
9c29ccdd32
Cross-platform LoadLibrary, adjusting libuv apis
2014-06-27 19:45:31 -07:00
Louis DeJardin
9e4bc60205
Adding amd64 support
...
Moves Libuv.dll into nupkg
Uses ILibraryManager to locate location for native libraries
Updates version numbers to 1.0.0-*
Throws exceptions with error text provided by libuv.dll
Bind to ip4 or ip6 endpoints
Getting server defaults from ini
Enabling "Kestrel" to be used as a Main entrypoint
2014-06-20 21:09:44 -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
Louis DeJardin
044bbb83e6
Getting request body variations to work
2014-06-07 02:49:25 -07:00
Louis DeJardin
313db3f0cf
Removing unnecessary using statements
2014-06-06 22:16:08 -07:00
Louis DeJardin
e517e39aac
Not working, but worth taking a snapshot of the source
2014-06-06 22:13:31 -07:00
Louis DeJardin
c9d6db14bc
Adding an engine, a thread manager, an accept loop
2014-06-03 16:41:55 -07:00
Louis DeJardin
1b412bc99f
Adding libuv p/invokes
2014-06-02 16:32:31 -07:00