Skip to content
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

ClientAPI.find_nodes behavior when messages get lost #127

Open
pipermerriam opened this issue Oct 21, 2020 · 0 comments
Open

ClientAPI.find_nodes behavior when messages get lost #127

pipermerriam opened this issue Oct 21, 2020 · 0 comments

Comments

@pipermerriam
Copy link
Member

What was wrong?

inspired by: https://github.com/ethereum/ddht/pull/122/files/a1238887112f663e6c46696e3f0937bb3bd3df7a#r509003163

The current logic for a FINDNODES message is that the response may be spread across multiple messages. If any of these messages fail to be delivered our implementation will drop all of the responses and treat it as a timeout.

How can it be fixed?

An alternate approach would be to return whatever messages we receive, even if all messages are not received since they will contain a subset of the the requested ENR records.

Care should be taken to ensure that there aren't undefined behaviors or security concerns in this approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant