You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Once IdentifyPush and Yamux are completed and reviewed, we can start planning the resource management work. Here's a rough outline of the steps:
Review how go-libp2p's rcmgr works and identify which concepts are most critical for py-libp2p.
Define a minimal viable resource manager (MVRM) for py-libp2p — something lightweight to start with, but extensible.
Identify key resource types to track: streams, connections, memory usage, inbound peer counts, etc.
Introduce basic enforcement of configurable limits (connections per peer, streams per connection, max memory use).
Build a simple internal metrics system to track resource usage (or integrate with an external one like Prometheus-compatible exporters).
Add hooks for detecting and reacting to abusive peers (e.g., automatic blocking, stream resets).
Simulate common attacks: stream spamming, payload flooding, sybil connections.
Tune default limits for safety without being too restrictive.
Test behavior under both normal and adversarial network conditions.
Implement autoscaling limits based on system load (CPU/memory).
Integrate resource stats into a monitoring dashboard.
Add support for dynamic peer scoring and connection gating.
Beta Was this translation helpful? Give feedback.
All reactions