* Add notifee interface
* Add notify function to network interface
* Implement notify feature
* Add tests for notify
* Make notifee functions all async
* Fix linting issue
* Fix linting issue
* Scaffold pubsub router interface
* Scaffold pubsub directory
* Store peer_id in muxed connection
* Implement pubsub notifee
* Remove outdated files
* Implement pubsub first attempt
* Prepare pubsub for floodsub
* Add mplex conn to net stream and add conn in notify tests
* Implement floodsub
* Use NetStream in generic protocol handler
* Debugging async issues
* Modify test to perform proper assert. Test passes
* Remove callbacks. Reduce sleep time
* Add simple three node test
* Clean up code. Add message classes
* Add test for two topics
* Add conn to net stream and conn tests
* Refactor test setup to remove duplicate code
* Fix linting issues
* Fix linting issue
* Fix linting issue
* Fix outstanding unrelated lint issue in multiselect_client
* Add connect function
* Remove debug prints
* Remove debug prints from floodsub
* Use MessageTalk in place of direct message breakdown
* Remove extra prints
* Remove outdated function
* Add message to queues for all topics in message
* Debugging
* Add message self delivery
* Increase read timeout to 5 to get pubsub tests passing
* Refactor testing helper func. Add tests
* Add tests and increase timeout to get tests passing
* Add dummy account demo scaffolding
* Attempt to use threads. Test fails
* Implement basic dummy node tests using threads
* Add generic testing function
* Add simple seven node tree test
* Add more complex seven node tree tests
* Add five node ring tests
* Remove unnecessary get_message_type func
* Add documentation to classes
* Add message id to messages
* Add documentation to test helper func
* Add docs to dummy account node helper func
* Add more docs to dummy account node test helper func
* fixed linting errors in floodsub
* small notify bugfix
* move pubsub into libp2p
* fixed pubsub linting
* fixing pubsub test failures
* linting
* Add generic protocol handler
* Add generic protocol handler to stream muxing pipeline
* Modify conn_handler to only deal with connections
* mplex accept stream architecture changes
* Add create generic protocol handler
* Fix minor bugs
* who would win 4 devs or one not
* Debugging
* rearch with handle_incoming infinite loop, seems to work, needs cleanup"
* passing linting, still needs cleanup
* fixing linting again; code still needs cleanup
* fixing tests; code still needs cleanup
* adding test cleanup and task cleanup, removing prints
* linting, and cleanup complete
* storing connections based on peer id
* remove dead code
* remove unnecessary peer_id
* Update more test for peerid.py
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Update more tests for peerid.py
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Update more tests for peerid.py
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Update more unit tests
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Update more unit tests
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* FIx travis failaure
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Fix travis failaure
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Update indent-string to tab
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Fix lines that too long
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Convert indent back to space
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Fix lines that too long
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Fix lines that too long
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Fix lines that too long
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Fix lines that too long
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Disable W0212 and E1120
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Fix lines that too long
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Fix failure from travis
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Fix failure from travis
Signed-off-by: Tran Ly Vu <tranly.vu@accellion.com>
* Remove W0212 and E1120
Signed-off-by: Tran Ly Vu <vutransingapore@gmail.com>
* Fix packages import
Signed-off-by: Tran Ly Vu <vutransingapore@gmail.com>
* Add pylint dsiable
Signed-off-by: Tran Ly Vu <vutransingapore@gmail.com>
fixes#89
instead of saving the multiaddr received in the listen method of the
tcp transport class, read what the service is actually listening on
this allow to use 0 as port and let the OS choose a free port for us
* 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