- Implemented full WSS support with TLS configuration
- Added handshake timeout and connection state tracking
- Created comprehensive test suite with 13+ WSS unit tests
- Added Python-to-Python WebSocket peer-to-peer tests
- Implemented multiaddr parsing for /ws, /wss, /tls/ws formats
- Added connection state tracking and concurrent close handling
- Created standalone WebSocket client for testing
- Fixed circular import issues with multiaddr utilities
- Added debug tools for WebSocket URL testing
All WebSocket transport functionality is complete and working.
Tests demonstrate WebSocket transport works correctly at the transport layer.
Higher-level libp2p protocol compatibility issues remain (same as JS interop).
* 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>
* 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
- Fix INotifee interface compliance in WebSocket demo
- Fix handler function signatures to be async (THandler compatibility)
- Fix is_closed method usage with proper type checking
- Fix pytest.raises multiple exception type issue
- Fix line length violations (E501) across multiple files
- Add debugging logging to Noise security module for troubleshooting
- Update WebSocket transport examples and tests
- Improve transport registry error handling
* 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