-
Notifications
You must be signed in to change notification settings - Fork 754
Poller.remove socket disposed fix #835
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jasells
wants to merge
33
commits into
zeromq:master
Choose a base branch
from
jasells:Poller.Remove-SocketDisposed-Fix
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
3b8dbb9
added NetMQPollerTest.RemoveAndDisposeSocket() as a repro for issue #834
jasells d0f2725
Task refactor of .Remove(ISocketPollable) passes test!
jasells 53e1833
speed up the test a little
jasells 68429d7
async fix supporting .NET40, broke a test
jasells dea90f4
un-break the API back to sycnronous (but now working)
jasells 6b344ca
rename new test to avoid confusion
jasells c879804
fixed RemoveAndDispose()
jasells 54c2931
fix other Remove methods
jasells bc362a9
clean up the RUn method for .NET40 compat
jasells 98a0f00
undo changes in RemoveThrowsIfSocketAlreadyDisposed
jasells a3819e1
fixing spacing complaints
jasells 4f3b1e6
return task from tests
jasells 33816cb
fixing wait() calls
jasells bda8b3f
use Task.Factory.StartNew
jasells cb16939
initial refactor works, except for one test.
jasells 544bb94
fix Selector to handle disposed sockets
jasells 87b7649
added comment about previous commmit
jasells 92163b1
removed comment
jasells 51457d1
fix region tag formatting
jasells fce2bb0
sync with master
jasells 38910d8
updated comments
jasells 3bacfb8
cleaer names for async socket remove tests
jasells 455f6b0
I believe this should address the net45/net40 Task.FromResult() concern
jasells 52fa20e
ensure tasks are queued on the poller, not the task pool.
jasells 884d4ea
remove the dictionary checks.
jasells 9f17258
fix indentation
jasells 3ea0693
removed comment that needs seperate PR
jasells 72ebdbc
added RemoveAsync(Socket ) overload
jasells c14f9f9
comment update
jasells 0a767c6
added REmoveASync(timer) overload and test
jasells fa5e49b
fix depricated message
jasells 83a34b6
refactored ContainsAsync() methods
jasells 217e4f4
added doc block
jasells 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
using System; | ||
using System.Threading.Tasks; | ||
using JetBrains.Annotations; | ||
|
||
namespace NetMQ | ||
{ | ||
/// <summary> | ||
/// | ||
/// </summary> | ||
/// <remarks> | ||
/// This interface provides an abstraction over the legacy Poller and newer <see cref="NetMQPoller"/> classes for use in <see cref="NetMQMonitor"/> and avoids thread sync issues removing sockets. | ||
/// </remarks> | ||
public interface ISocketPollableCollectionAsync | ||
{ | ||
Task RemoveAsync([NotNull] ISocketPollable socket); | ||
Task RemoveAndDisposeAsync<T>(T socket) where T : ISocketPollable, IDisposable; | ||
} | ||
} |
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.
Uh oh!
There was an error while loading. Please reload this page.