- 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.
* feat: base implementation of dcutr for hole-punching
* chore: removed circuit-relay imports from __init__
* feat: implemented dcutr protocol
* added test suite with mock setup
* Fix pre-commit hook issues in DCUtR implementation
* usages of CONNECT_TYPE and SYNC_TYPE have been replaced with HolePunch.Type.CONNECT and HolePunch.Type.SYNC
* added unit tests for dcutr and nat module and
* added multiaddr.get_peer_id() with proper DNS address handling and fixed method signature inconsistencies
* added assertions to verify DCUtR hole punch result in integration test
---------
Co-authored-by: Manu Sheel Gupta <manusheel.edu@gmail.com>
* fixed todo: throttle on async validators
* added test: validate message respects concurrency limit
* added newsfragment
* added configurable validator semaphore in the PubSub constructor
* added the concurrency-checker in the original test-validate-msg test case
* separate out a _run_async_validator function
* remove redundant run_async_validator