Commit Graph

24 Commits

Author SHA1 Message Date
moozzyk d2f282f54f Consuming Libuv from NuGet package
Fixes #50
2015-09-26 18:00:50 -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
Ivan Derevyanko 6d47227975 KestrelTrace refactored and added to the ServiceContext. Close aspnet/KestrelHttpServer#141 2015-09-05 18:17:17 +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 d0bd2b3dd0 Configure unix pipes via the hostname instead of the scheme. 2015-08-31 10:46:48 -07:00
Stephen Halter a919ea8d0a Remove unnecessary listener interfaces 2015-08-31 10:46:46 -07:00
Daniel Lo Nigro 9ade227abb Implement support for UNIX sockets.
The common use-case for Kestrel in production will be behind a reverse proxy such as Nginx. In cases where the reverse proxy is located on the same machine as the application, connecting via a UNIX socket is more efficient than a TCP socket, as it avoids going through the network layer. Accessing 127.0.0.1 through TCP still needs to initiate a TCP connection and perform handshaking, checksumming, etc, all of which is avoided by using UNIX sockets.

 - Moved TCP-specific stuff from Listener into new TcpListener class (same with ListenerPrimary and ListenerSecondary)
 - Made Listener abstract
 - Created new PipeListener. Note that while the use case is for UNIX sockets, this is called "Pipe" in uv, so I've called this "PipeListener" so the terminology is consistant
 - Uses "unix" URL scheme to determine whether to use socket. "http://127.0.0.1:5000" is for listening via TCP while "unix:///var/run/kestrel-test.sock" is for listening via UNIX socket

#156
2015-08-15 15:50:34 -07:00
anurse 07304640ed react to DNX renames 2015-07-31 11:54:52 -07:00
Victor Hurdugaci 343d698286 React to DNX renames 2015-07-29 01:04:59 -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 42246fd51b Using named pipes to dispatch connections to multiple threads 2015-07-24 13:50:13 -07:00
Stephen Halter b9901c3bfe Surface fatal exceptions that stop the event loop
- Request an app Shutdown so KestrelEngine gets disposed
- Ensure Listener.Dispose doesn't deadlock before the engine
  can be disposed
- Rely on the existing logic to rethrow in the fatal error when
  the engine gets disposed
2015-07-21 11:58:26 -07:00
Stephen Halter 5c6a53c491 Dispose Listeners if they fail to start 2015-06-12 17:02:31 -07:00
N. Taylor Mullen 063fb64c8b Update LICENSE.txt and license header on files. 2015-05-01 13:53:45 -07:00
Louis DeJardin e550d1f1ec Updating Darwin OS detection 2014-10-20 16:11:48 -07:00
Louis DeJardin dcf55abc9f Changing shared library name on Unix OS type 2014-10-13 22:48:47 -07:00
Louis DeJardin 836be5565a Using weak gchandles from native to managed
See #15
2014-07-08 14:51:13 -07:00
Louis DeJardin 08a3685f53 Moving native resources, updating loading code 2014-06-27 19:33:48 -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 17e566c5d1 Adding "server.urls" configuration support to kestrel 2014-06-17 22:45:53 -07:00
Louis DeJardin 6ac6419f4f Adding support for 'k web --server kestrel' 2014-06-13 13:10:46 -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