This repository was archived by the owner on Dec 18, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 522
P/Invoke cleanup #60
Closed
Closed
P/Invoke cleanup #60
Changes from all commits
Commits
Show all changes
76 commits
Select commit
Hold shift + click to select a range
a6cc0a1
Make the loop handle a simple piece of memory
681eb2a
Move all external methods into UnsafeNativeMethods.
bfb27f1
Removed the PlatformApis type
67b1645
Specialized the code for Windows
501a6e6
Reintroduced the proper error message for Linux without libuv.so.1
77af9a2
Moved the callback delegates into a separate file
faa3708
Inlined and simplified getting the error strings
2decc79
Removed an unused function
cc88652
The Check functions now are static and don't return back the error code
4260100
Removed an unused function
5e796e9
Inlined the pinvokes instead of routing them through Libuv
a7f80ac
Moved types out of Libuv.cs
82d7727
Moved the buffer type out of Libuv and inlined the constructor
ad6e5c6
Libuv is now a static class.
70adb13
Improved the error checking API
70d6830
Fixed the tests
66c1094
Removed superfluous unsafe
215aaca
Removed an unused member
83f0ed9
Currently only one byte-buffer is ever uv_write'ten
72b6863
The Init functions are now constructors
8f85ae9
Distinguished between Dispose and ReleaseHandle for the loop handle
c95ffa1
The CreateMemory calls are now part of the constructor
3aaafdf
Moved a class to a separate file. Fixed a file name
178f713
Replaced unsafe code by Marshal functions
39a52d4
Finally removed the unsafe requirement
344d3c1
Applied some code style
e9093c8
Used callbacks bound to an object instead of static ones
0fd0248
Closed the loop on the first try
f73bc36
Simplified the loop shutdown
cf71d1b
Cleanup
90408d1
Moved two functions down the inheritance tree
091d02e
The UvAsyncHandle now also sets a queueCloseHandle
2b0b145
Don't swallow exceptions
db8fc73
UvHandles don't follow the SafeHandle pattern, so that's not a good b…
3e822f6
Merged the remaining UvMemory implementation into other classes
0a0a509
Cleanup
0a677ef
Restored the manual native library loading and method binding
0ac3ce6
Sanitized the loop closing logic
3aa3243
Based the UvLoopHandle and Req off of the same base class
f875d13
Merged the two write request classes
d219f74
UvWriteReq now follows the SafeHandle protocol
a304518
Brought back the ArraySegment in the write request
74e1bef
Disable invalid warnings
ad47a69
Fixed the aspnetcore50 build
6ff30ce
Moved the self keepalive into the base class so the shutdown request …
f486522
Separate listen and stream TCP handles
644fe82
Made the listener's callback an instance function
00d2cae
Don't route the listener object through the handle
fbeccc8
Completely set up the TCP listener in the constructor
b949b68
Moved the accept function to the stream's constructor
56c32de
The read and alloc callbacks are mow instance functions
e15105a
Removed unused parameters from the callback chain
f210d1e
Merged the connection's Start method in the constructor
b0fd2af
Extracted a separate read request handle with explicit lifetime manag…
a04912a
Removed the trampoline callbacks
d6c82a9
Used the constructor in the shutdown request
53d0566
The Post method now works with just an Action
a1edb3b
Added a consumers of PostAsync
4db6eec
Cleanup
1560adc
Disposed read handles when closing the connection
603b9ea
Registered connections on the listener to close them during shutdown.
9602fd1
Improved the object validation
7ce00d0
Dispose the socket when the client closes the connection
74a04c2
Early-exit when the connection is closed
7245a17
Write is now Async. This fixes a race between closing the socket and …
7e34f49
Removed the write callback function
2ba41b7
Active write requests are canceled when the socket is closed
37e8715
Removed .Net 4.6'isms
b43b306
Code style
a93cc80
Propagate the read status code and add proper EOF
5ea8cc0
Used different ports in the test classes
0b7b166
Added API to check for active connections
ebf3c5f
Moved a failing test to an issue class
65e87b7
Added a few ways to create a leaked connection
3f9628f
Provide Write errors to upper layers
05e6404
Activated the (reliable!) engine tests
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you define a descriptive constant for this? The same goes for the ones above.