Configurable TTL Values in py-libp2p #1013
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What was wrong?
The current py-libp2p implementation uses hardcoded TTL (Time To Live) values throughout the codebase. This PR(WIP) implements a configurable TTL system across Identify, PubSub, DHT, Host modules, following golibp2p's approach.
Implements discussion #967
How was it fixed?
As the discussed in #967, this PR focuses on phase 1 and 2 of the implementation roadmap.
Phase 1: Core Infrastructure
Create TTLConfig dataclass
Add configuration validation
Create default TTL values based on Go libp2p
Phase 2: Component Updates
Update IdentifyPush to use configurable TTL
Update PubSub utilities
Update DHT utilities
Update Host class to accept TTL config
To-Do
Cute Animal Picture