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: improve filter subscriptions #2193

Merged
merged 9 commits into from
Jan 29, 2025

Conversation

weboko
Copy link
Collaborator

@weboko weboko commented Oct 27, 2024

Problem

During debugging sessions our team had we determined points for improvement for Filter/Subscription entities.
It was clear that they can be improved with better handling of configuration and peer management.

Solution

This PR improves configuration handling and PeerManager as well as adds timed MessageCache.

Notes

This PR is second to #2191

Copy link

github-actions bot commented Oct 27, 2024

size-limit report 📦

Path Size Loading time (3g) Running time (snapdragon) Total time
Waku node 84.71 KB (0%) 1.7 s (0%) 12.3 s (-17.52% 🔽) 14 s
Waku Simple Light Node 135.81 KB (0%) 2.8 s (0%) 20.4 s (+45.72% 🔺) 23.1 s
ECIES encryption 22.73 KB (0%) 455 ms (0%) 4.9 s (-32.25% 🔽) 5.4 s
Symmetric encryption 22.23 KB (0%) 445 ms (0%) 4.2 s (-7.66% 🔽) 4.7 s
DNS discovery 70.75 KB (0%) 1.5 s (0%) 12 s (+63.41% 🔺) 13.5 s
Peer Exchange discovery 71.68 KB (0%) 1.5 s (0%) 11.6 s (-0.55% 🔽) 13 s
Local Peer Cache Discovery 65.28 KB (0%) 1.4 s (0%) 12.5 s (+6.47% 🔺) 13.8 s
Privacy preserving protocols 76.51 KB (0%) 1.6 s (0%) 10.4 s (-22.51% 🔽) 11.9 s
Waku Filter 78.09 KB (0%) 1.6 s (0%) 11.2 s (+10.93% 🔺) 12.8 s
Waku LightPush 75.64 KB (0%) 1.6 s (0%) 9.8 s (-32.36% 🔽) 11.3 s
History retrieval protocols 75.59 KB (0%) 1.6 s (0%) 14.3 s (+8.84% 🔺) 15.8 s
Deterministic Message Hashing 7.32 KB (0%) 147 ms (0%) 2.7 s (+17.6% 🔺) 2.9 s

@weboko weboko marked this pull request as ready for review January 15, 2025 23:17
@weboko weboko requested a review from a team as a code owner January 15, 2025 23:17
@weboko weboko mentioned this pull request Jan 28, 2025
5 tasks
* feat: inroduce subscription manager

* fix: make pipeline succeed (#2238)

* fix test

* use hardcoded value

* update playwright

* fix test:browser
@weboko weboko merged commit 1be6e2d into weboko/peer-manager Jan 29, 2025
7 of 9 checks passed
@weboko weboko deleted the weboko/filter-subscription branch January 29, 2025 16:39
weboko added a commit that referenced this pull request Jan 30, 2025
* up lock

* make ConnectionManager use ctor

* reform connection manager configurations

* remove log param from peerManager

* make PeerManager use only ConnectionManager, move getPeers to ConnectionManager, remove not needed code

* remove allPeers and connectedPeers from BaseProtocolCore, update tests, add getPeers for IWaku

* use only one peerManager from Waku object

* remove IBaseProtocolSDK and merge with PeerManager

* re-implement peerManager, remove ProtocolUseOptions

* remove not needed test, up lock

* update deps and lock

* remove old test for peerManager, fix check and spell

* rename to getConnectedPeers

* feat: improve filter subscriptions (#2193)

* add message cache to Filter

* remove WakuOptions and use only ProtocolCreateOptions

* move subscribe options to createLightNode Fitler protocol options

* rename SubscriptionManager to Subscription

* rename to CreateNodeOptions

* add warning

* feat: introduce subscription manager (#2202)

* feat: inroduce subscription manager

* fix: make pipeline succeed (#2238)

* fix test

* use hardcoded value

* update playwright

* fix test:browser

* up lock

* make peer retrieval probabilistic

* add comments

* up lightpush tests

* add tests for peer_manager, improve folder structure

* create named files for protocols

* create named files, simplify project structure

* remove only
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

Successfully merging this pull request may close these issues.

2 participants