* Initial setup for pubsup
* Created node and trying to setup gossipsub
* Fix: Use pubsub object for publishing messages instead of gossipsub
* Correct help message for port argument.
* Fix: Used pubsub object instead of gossipsub object on Client side
* Fix: handle_new_peer method of pubsub is used to connect to new peers.
* used for host.connect to connect to peers
* Corrected script for connecting to other peers.
* message receiving function created
* message publishing function created
* Refactored the code for improved clarity and maintainability.
* fix: make publish loop input non-blocking to prevent event loop blocking
* refactored the code for better user experience while publishing message
* corrected the name of protocol
* Fix: Correct the implementation of the port argument
* Added pubsub initialization
* added logging
* pubsub instance is running
* Enhance publish loop with user prompts and error handling
* Connection monitoring added
* Add key pair generation and security options to pubsub host initialization
* Refactor pubsub logging and corrected gossipsub protocol id
* Started gossipsub service
* Add dynamic port assignment
* Refactor pubsub example for CI
* feat: monitor_peer_topics function added
* Noise protocol added
* refactor: default port set to none and some logging changes.
* refactor: Add graceful shutdown with termination events
- Replace infinite loops with termination events
- Add proper shutdown handling for all loops
- Implement clean resource cleanup on exit
- Add shutdown message for better user feedback
- Update signal handling for graceful termination
* Changed import path for factories file.
- to align import statement with changes from PR 543
* Added News Fragment
* Added pub-sub demo to the console_scripts section in setup.py
* Added pubsub example to Documentation
* Fix formatting and path in PubSub documentation example
* Added pubsub example in toctree
* Added tests for pubsub example
* updated the description of pubsub example
* corrected the name of pubsub docs file
* Remove unused imports and security options from pubsub example
* Update script usage instructions in pubsub example
* Enhanced compatibility for python 3.9
* Corrected console output
- Fix examples `chat.py` and `echo.py`
- Use trio directly, instead of `trio-asyncio`
- Remove redundant code
- Change entry API `new_node` to `new_host_trio`
* ignore kad
* fix swarm, and minor
* fix init and swarm
* ignore pb
* enable mypy
* fix basic host
* fix tcp
* fix mplex
* add typing for pb
* skip format pyi
* [mypy] no need to ignore pb now
* add typing to chat
* Improved peer ID construction and usage
* peer id object is directly passed to the network
no need to cast from a string to an ID
* don't base64 encode the peer id when loading from public key
* use proper multiaddr address
- keep multiaddr object into peerstore instead of string
- update network code to use new multiaddr lib
- update tests and example
* don't instanciate peerstore object in constructor
This has side effect where the same peerstore
is used for different instance of Libp2p
* add connect method to basic_host
* use zaibon's fork of sbuss/py-multiaddr
* lint
* Implement protocol muxing
* Integrate protocol muxing into new stream and listen's conn handler
* Fix bugs in protocol muxing
* Remove blank line
* Add comments and fix linting issues
* Fix order of parameters to select_one_of to match interface
* Use array of protocol ids in new stream instead of protocol id
* Add basic protocol muxer tests
* Add todo
* Modify new stream to take in protocol ids
* Add check to all tests to ensure protocol id is saved to net stream properly
* Lint tests
* Fix lint issues
* Add todo
* Modify port numbers in tests
* Fix linting issues
* Add more documentation to functions
* Add docs describing classes and fix indent error