TCP socket rewrite with strand and queueing support#1938
Merged
clemahieu merged 7 commits intonanocurrency:masterfrom May 14, 2019
Merged
TCP socket rewrite with strand and queueing support#1938clemahieu merged 7 commits intonanocurrency:masterfrom
clemahieu merged 7 commits intonanocurrency:masterfrom
Conversation
Contributor
Author
|
If merged, update wiki docs wrt config changes |
wezrule
reviewed
May 1, 2019
wezrule
approved these changes
May 1, 2019
clemahieu
reviewed
May 7, 2019
…id address-reuse issue
…se from destructor, check strand-execution where possible, and fix a test with too low deadline.
…error instead of success in counted_completion
SergiySW
approved these changes
May 10, 2019
SergiySW
added a commit
that referenced
this pull request
May 22, 2019
- merge_peer function modified to try TCP connection before UDP - TCP channels ongoing_keepalive function used to wake up long not sending channels to prevent TCP disconnection from server - Live TCP connection starts with node ID handshake - After handshake node sends preferred peering ports for response channels (keepalive self) - Received TCP live message is responded to sender with response channels - Using #1938 multi-writer for TCP channel - Multiple nodes system () tests using TCP connections by default - Some tests modified to check 2 live network options: TCP connections & UDP connections - tcp_incoming_connections_max added, max established incoming TCP connections - bootstrap_server modified to accept live network messages
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Marking as incomplete as more docs and discussions related to the needs for implementing tcp live messages are needed.
send_buffer_rawremoved for that reason.if (!ec)from callback wrappers, in case callback needs notification of errors/do corrective actions/logging.remoteis cached on connect/accept as it's not thread safe to call it directly (caching is more convenient than wrapping in a strand on use sites). For outgoing connections, the remote endpoint is known. For accept, there's an overload to receive it.completion_signaltype is added. Some tests will benefit from using thread runner instead of polling (the new socket test is an example) and this class simplifies waiting for async operations to complete.