mirror of
https://github.com/varun-r-mallya/py-libp2p.git
synced 2025-12-31 20:36:24 +00:00
* Implementing random walk in py libp2p * Add documentation for Random Walk module implementation in py-libp2p * Add Random Walk example for py-libp2p Kademlia DHT * refactor: peer eviction from routing table stopped * refactored location of random walk * add nodesin routing table from peerstore * random walk working as expected * removed extra functions * Removed all manual triggers * added newsfragments * fix linting issues * refacored logs and cleaned example file * refactor: update RandomWalk and RTRefreshManager to use query function for peer discovery * docs: added Random Walk example docs * added optional argument to use random walk in kademlia DHT * enabled random walk in example file * Added tests for RandomWalk module * fixed lint issues * Update refresh interval and some more tests are added. * Removed Random Walk module documentation file * Extra parentheses have been removed from the random walk logs. Co-authored-by: Paul Robinson <5199899+pacrob@users.noreply.github.com> --------- Co-authored-by: Manu Sheel Gupta <manusheel.edu@gmail.com> Co-authored-by: Paul Robinson <5199899+pacrob@users.noreply.github.com>
17 lines
736 B
Python
17 lines
736 B
Python
from typing import Final
|
|
|
|
# Timing constants (matching go-libp2p)
|
|
PEER_PING_TIMEOUT: Final[float] = 10.0 # seconds
|
|
REFRESH_QUERY_TIMEOUT: Final[float] = 60.0 # seconds
|
|
REFRESH_INTERVAL: Final[float] = 300.0 # 5 minutes
|
|
SUCCESSFUL_OUTBOUND_QUERY_GRACE_PERIOD: Final[float] = 60.0 # 1 minute
|
|
|
|
# Routing table thresholds
|
|
MIN_RT_REFRESH_THRESHOLD: Final[int] = 4 # Minimum peers before triggering refresh
|
|
MAX_N_BOOTSTRAPPERS: Final[int] = 2 # Maximum bootstrap peers to try
|
|
|
|
# Random walk specific
|
|
RANDOM_WALK_CONCURRENCY: Final[int] = 3 # Number of concurrent random walks
|
|
RANDOM_WALK_ENABLED: Final[bool] = True # Enable automatic random walks
|
|
RANDOM_WALK_RT_THRESHOLD: Final[int] = 20 # RT size threshold for peerstore fallback
|