* 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>
* FIXME: Make TProtocol Optional[TProtocol] to keep types consistent
* correct test case of test_protocol_muxer
* add newsfragment
* unit test added
---------
Co-authored-by: Manu Sheel Gupta <manusheel.edu@gmail.com>
* replace ethereum author with current maintainers
* use my github handle instead of full name
* replace no-prod warning with current status message
* update maintainers blurb
---------
Co-authored-by: Manu Sheel Gupta <manusheel.edu@gmail.com>
* Implement closed_stream event handling and enable related tests
* Fix linting issues and ensure all tests pass
* Add logging for exception in SwarmConn and create newsfragment for closed_stream feature
- Introduced `test_echo_thin_waist.py` to validate the echo example's output for Thin Waist lines.
- Added `test_address_validation.py` to cover functions for available interfaces, optimal binding addresses, and wildcard address expansion.
- Included parameterized tests and environment checks for IPv6 support.
- Replaced hardcoded listen address with `get_optimal_binding_address` for improved flexibility.
- Imported address validation utilities in `echo.py` and updated `__init__.py` to include new functions.
- Added `network_discover.py` to demonstrate Thin Waist address handling.
- Introduced `address_validation.py` with functions for discovering available network interfaces, expanding wildcard addresses, and determining optimal binding addresses.
- Included fallback mechanisms for environments lacking Thin Waist support.