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

feat: peer management for protocols (with disconnection management) #2002

Closed
5 tasks done
danisharora099 opened this issue May 8, 2024 · 2 comments
Closed
5 tasks done

Comments

@danisharora099
Copy link
Collaborator

danisharora099 commented May 8, 2024

This is a feature request

Problem

For Filter and LightPush, every time a new LP request/new subscription is created, getPeers() is called -- this is called every time which gives us a new set of peers to use for each request/subscription.

Further, we wish to discard a peer if it fails, and renew it with another peer. This is not trivial to do if we rely on getting a new set of peers each time.

Proposed Solutions

LightPush:

Filter:

Notes

@chaitanyaprem
Copy link

Renew peer if filter ping fails on a node
Not sure if we can depend on this as expected filter ping duration is 1 minute.
Maybe better to listen on disconnection signal from a peer and then act on it, which can be based on periodic ping that is run more often. In go-waku/status-go all connected peers are pinged every 10 seconds.

@danisharora099 danisharora099 moved this from In Progress to Code Review / QA in Waku Jun 19, 2024
@danisharora099 danisharora099 moved this from Code Review / QA to Done in Waku Jun 19, 2024
@danisharora099 danisharora099 moved this from Done to In Progress in Waku Jun 19, 2024
@weboko weboko moved this from In Progress to Code Review / QA in Waku Jul 10, 2024
@weboko weboko moved this from Code Review / QA to Done in Waku Jul 18, 2024
@weboko
Copy link
Collaborator

weboko commented Jul 18, 2024

marking as done as all PR are complete

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

4 participants