Commit Graph

109 Commits

Author SHA1 Message Date
Stephen Halter 0ac3c3dad6 More ConfigureAwait(false) 2015-08-11 12:46:08 -07:00
Stephen Halter 688ad9bee7 Merge branch 'benaadams/configure-awaits' into dev 2015-08-11 12:34:53 -07:00
Stephen Halter 5dfca955b3 Move GeneratedCode project so no NuGet package gets created 2015-08-05 12:22:59 -07:00
Stephen Halter 7dd256f26e Add a "dnu restore" prepare step before generating code
- This ensures the generated code project's project.lock.json is created
2015-08-05 11:54:17 -07:00
Troy Dai b8f930bb4c Update CoreCLR versions 2015-08-04 10:15:28 -07:00
Stephen Halter e5144e3139 Include Server and Date in the initial response header dictionary 2015-08-03 16:20:34 -07:00
Stephen Halter 978dd39924 Update the prepare script used to generate code
- The syntax to run dnx with a modified appbase has recently changed
2015-08-03 16:20:32 -07:00
Stephen Halter 7446fe4cc7 Update SocketOutputTests to account for the "immediate" Write param 2015-08-03 16:20:30 -07:00
Louis DeJardin 6ff894bb19 Using masked byte sequences to recognize well-known header names 2015-08-03 16:20:28 -07:00
Louis DeJardin b999b47218 String concatination showed up in profiler 2015-08-03 16:20:26 -07:00
Louis DeJardin f6dc72544c Response headers don't need to be queued before subsequent write 2015-08-03 16:20:24 -07:00
Louis DeJardin c0728edda7 Linq .Any() was causing enumeration 2015-08-03 16:20:22 -07:00
Louis DeJardin f9cf9f1936 Improvements to appending request header 2015-08-03 16:20:20 -07:00
Louis DeJardin 96b03ee212 Perf - enumerate with struct
Conflicts:
	src/Microsoft.AspNet.Server.Kestrel/project.json
2015-08-03 16:20:18 -07:00
Louis DeJardin 963f086eb0 Prototypeing a fast header dictionary
Conflicts:
	src/Microsoft.AspNet.Server.Kestrel/project.json
2015-08-03 16:20:14 -07:00
anurse 07304640ed react to DNX renames 2015-07-31 11:54:52 -07:00
Stephen Halter 4a9515d2e0 Gracefully handle uncaught exceptions in user code when possible 2015-07-30 16:01:33 -07:00
Troy Dai 07de3cafd1 Clean build warnings 2015-07-30 12:14:13 -07:00
Victor Hurdugaci 343d698286 React to DNX renames 2015-07-29 01:04:59 -07:00
Stephen Halter 47d7f73bdc Fix SocketOutput so that it can now complete large writes
- Complete in this context means that the callback gets invoked.
- Previously, calls to write would never complete if the buffer contained
  more than 64 KB (_maxBytesPreCompleted).
- This is tested by SocketOutputTests.CanWrite1MB.
2015-07-28 16:57:24 -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
Stephen Halter c345849707 Don't use QueueUserWorkItem to trigger write callbacks immediately
- In this case we are off the event loop, so we can invoke the callback directly.
- Increase _maxBytesBufferedBeforeThrottling
2015-07-28 16:57:21 -07:00
Stephen Halter 74fa82bca7 Complete WriteAsync Tasks early when there are less than 64KB buffered 2015-07-28 16:57:19 -07:00
Stephen Halter d723f9da21 Reduce calls to uv_write by calling it with multiple buffers when possible 2015-07-28 16:57:16 -07:00
Louis DeJardin e39fe60da0 Removing commented code 2015-07-24 16:19:15 -07:00
Louis DeJardin baeb3e7962 Fixing write2.Dispose() to avoid creating closure 2015-07-24 15:47:31 -07:00
Louis DeJardin 17a846ad8e Method not used by descendants 2015-07-24 15:44:27 -07:00
Louis DeJardin 62ec11be7e Adding internal Constants class 2015-07-24 15:43:43 -07:00
Louis DeJardin f935567cfd Read callback status is always 0 for any error and EOF 2015-07-24 15:36:45 -07:00
Louis DeJardin b93845be19 Removing debug code 2015-07-24 15:25:44 -07:00
Louis DeJardin 3d45602513 Catch Accept because of EAGAIN 2015-07-24 14:02:42 -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
Stephen Halter c199e5eee1 Wait on user-defined OnStarting and OnCompleted callbacks 2015-07-21 12:44:57 -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
Ben Adams 23ffc3fea9 ConfigureAwait(false) 2015-07-19 15:50:42 +01:00
Pranav K 853ee00ff5 Merge remote-tracking branch 'origin/release' into dev 2015-07-16 08:43:59 -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
markrendle 98995132de Pre-create Continue bytes in Frame 2015-07-13 10:43:05 -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
Victor Hurdugaci fd038b7b91 Add repository information to project files 2015-07-01 20:13:32 -07:00
Hao Kung f724fefbda React to HttpChanges 2015-06-25 17:28:07 -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 1592459a0b Dispose Listeners if they fail to start 2015-06-15 10:08:03 -07:00
Stephen Halter a992c78548 Dispatch user defined callback so it can't block the event loop 2015-06-15 10:07:58 -07:00
Stephen Halter adc0310491 Ensure all handles still get released after graceful shutdown 2015-06-15 09:43:01 -07:00
Stephen Halter 31057f65bc Gracefully shutdown even when there are open connections 2015-06-15 09:41:33 -07:00
Stephen Halter 5c6a53c491 Dispose Listeners if they fail to start 2015-06-12 17:02:31 -07:00
Stephen Halter 7e125faa73 Dispatch user defined callback so it can't block the event loop 2015-06-12 17:02:27 -07:00