Commit Graph

61 Commits

Author SHA1 Message Date
b2f496d081 Fix type hints except pb msg in pubsub folder 2019-07-30 16:24:34 +08:00
a0aa105867 Add type hint to pubsub notifee/interface 2019-07-30 16:23:15 +08:00
3549f2ff8b Add type hints to mcache.py 2019-07-30 16:20:48 +08:00
63014eeaae Add type hints to floodsub.py 2019-07-30 16:20:47 +08:00
b920955db6 Add type hints to gossipsub.py 2019-07-30 15:39:50 +08:00
8eb6a230ff Fix and add type hints to pubsub.py 2019-07-30 15:32:58 +08:00
f02d38c0ee Reflect PR feedback
* Rename `src` to `msg_forwarder` in pubsub/floodsub/gossipsub
* Rename Variables
* Sort imports
* Clean up
2019-07-29 12:09:35 +08:00
74d831d4e2 Reflect PR feedback 2019-07-28 18:06:38 +08:00
70c5c84f32 Update libp2p/pubsub/floodsub.py
Co-Authored-By: NIC Lin <twedusuck@gmail.com>
2019-07-28 16:09:01 +08:00
a1e20caebe Update libp2p/pubsub/floodsub.py
Co-Authored-By: NIC Lin <twedusuck@gmail.com>
2019-07-28 16:07:11 +08:00
ffb3920468 Update libp2p/pubsub/floodsub.py
Co-Authored-By: NIC Lin <twedusuck@gmail.com>
2019-07-28 16:06:03 +08:00
c252c62009 Update libp2p/pubsub/pubsub.py
Co-Authored-By: NIC Lin <twedusuck@gmail.com>
2019-07-28 16:05:29 +08:00
766d8ba1e1 A little bit clean up 2019-07-27 12:06:36 +08:00
c028aef2de Fix all tests
- Dedup `perform_test_from_obj` and the test cases used in both
`test_floodsub` and `test_gossipsub_backward_compatibility.py`.
Therefore, they are put in the standalone file
`tests/pubsub/floodsub_integration_test_settings.py`. The functions
and testcases are imported from there then.
- IMO still need a refactor on the tests. There are still some duplicate
code.
2019-07-27 11:49:03 +08:00
65aedcb25a Fix several tests 2019-07-26 18:35:25 +08:00
035d08b8bd Fix test_floodsub.py 2019-07-25 23:11:27 +08:00
dadcf8138e Fix the tests according to pubsub.Publish
And refactored a bit.
2019-07-25 16:58:00 +08:00
cae4f34034 Refactor floodsub.publish
Passed the first test of floodsub
2019-07-25 14:08:16 +08:00
93cf5a2c32 A roughly skeleton of floodsub.publish
Still need to ensure when to deliver to ourselves
2019-07-24 22:33:32 +08:00
3f52b0dc0a Remove leftover imports 2019-07-24 21:57:46 +08:00
b528c211b9 Temp modified publish 2019-07-24 21:55:57 +08:00
218bdb42c4 Add basic functionalities of publish 2019-07-24 21:55:04 +08:00
8f9e5a28ff Temp 2019-07-24 21:54:36 +08:00
f329c5a627 Merge pull request #188 from mhchia/feature/add-typing-for-pubusb
Add tox and mypy
2019-07-24 21:45:19 +08:00
d3a948be47 Fix error: Change params floodsub.publish back 2019-07-24 16:24:14 +08:00
d6c19e71a6 Add typing and notes in pubsub 2019-07-24 14:54:30 +08:00
99252e49f8 Prevent re-adding peers to mesh 2019-07-23 23:00:43 +08:00
e52bfe3a51 Fix:
Respond GRAFT with PRUNE if not subscribed to the topic
2019-07-23 22:52:24 +08:00
afc853a776 Apply PR feedback 2019-07-22 23:22:07 +08:00
67f9edb77d Remove fanout topic after joining the topic 2019-07-22 19:28:07 +08:00
4ab99485a6 Fix lint error 2019-07-21 23:32:54 +08:00
41141c028b FIx:
check topic exist in `pubsub.peer_topics`
2019-07-21 23:16:41 +08:00
fd1f318b0c Fix:
in mesh heartbeat, select from gossipsub peers subscribed to the topic
2019-07-21 23:14:08 +08:00
404dc67e83 Fix:
prevent selecting peers from topic not in peer topics
2019-07-21 23:14:08 +08:00
b5c3420c16 Refactor gossipsub.join 2019-07-21 23:14:08 +08:00
1e78c21eca Merge pull request #181 from NIC619/fix_handle_unsubscribe
Fix: handle unsubscribe message
2019-07-21 20:09:51 +08:00
36575e8c9b Add check to prevent gossipsub re-join and re-leave 2019-07-19 19:59:48 +08:00
89347be526 Prevent self re-unsubscription 2019-07-18 13:26:31 +08:00
f25d97fbd3 Prevent self re-subscription 2019-07-15 16:32:05 +08:00
6d9ec7a9c5 Handle the unsubscribe case 2019-07-15 16:28:29 +08:00
31cd520076 Add the missing __init__.py in pb 2019-07-11 17:50:36 +08:00
9052e8f8bd The Gossipsub PR (#162)
* Add handle_rpc call to pubsub

* Scaffold gossipsub functions

* Add timer

* Implement most of mesh construction

* Implement emit and handle

* Implement fanout heartbeat

* Refactor emit

* some gossipsub cleanup and test

* minor lint stuff, more to come

* Implement publish

* Fix comment

* Modify pubsub/gossipsub so that floodsub tests pass using gossipsub router

* Add floodsub tests to gossipsub

* Handle case where select_from_minus, num_to_select > size(pool-minus)

* Add topic membership

* Implement handle ihave

* Implement most of iwant

* Add mcache.add and comments

* Refactor handle_ihave

* Implement stream write in handle_iwant

* Implement gossip heartbeat

* unresolved vars

* initial mcache code

* documenting mcache

* writing test/debugging mcache

* finished mcache test and debugged

* Make gossipsub backward compatibility its own file

* remove mcache prints

* DEBUGGING

* Add sender_peer_id to handle_rpc to get gossip test passing

* Modify gossipsub to make fanout work

* fanout maintenance test

* debugging gsub GOSSIP

* DEBUGGING

* debugged sender seen cachce

* adding lru, removing prints

* pylint cleanup

* Fix github comments in PR

* minor floodsub possible bugfix
2019-05-06 23:44:13 -04:00
d04798ce7c lru cache seen_messages 2019-04-05 21:46:03 -04:00
686c55b09c Remove unnecessary print #146 2019-04-05 17:38:29 -04:00
feaa393c5f Fix seen messages bug 2019-04-03 23:32:03 -04:00
9d16aa834d Modify pubsub to have seen message check incorporate seqno and node id 2019-04-03 23:32:03 -04:00
f6299c7dee Add priority queues to handle seqno 2019-04-03 23:32:03 -04:00
225bd390df add source to rpc.proto 2019-04-03 14:08:05 -04:00
0238dff217 remove unused code 2019-04-02 21:17:48 -04:00
41d1aae55b clean up 2019-04-01 16:55:44 -04:00