Commit Graph

182 Commits

Author SHA1 Message Date
mhchia
b528c211b9
Temp modified publish 2019-07-24 21:55:57 +08:00
mhchia
218bdb42c4
Add basic functionalities of publish 2019-07-24 21:55:04 +08:00
mhchia
8f9e5a28ff
Temp 2019-07-24 21:54:36 +08:00
Kevin Mai-Husan Chia
f329c5a627
Merge pull request #188 from mhchia/feature/add-typing-for-pubusb
Add tox and mypy
2019-07-24 21:45:19 +08:00
mhchia
d3a948be47
Fix error: Change params floodsub.publish back 2019-07-24 16:24:14 +08:00
mhchia
d6c19e71a6
Add typing and notes in pubsub 2019-07-24 14:54:30 +08:00
NIC619
99252e49f8
Prevent re-adding peers to mesh 2019-07-23 23:00:43 +08:00
NIC619
e52bfe3a51
Fix:
Respond GRAFT with PRUNE if not subscribed to the topic
2019-07-23 22:52:24 +08:00
NIC619
afc853a776
Apply PR feedback 2019-07-22 23:22:07 +08:00
NIC619
67f9edb77d
Remove fanout topic after joining the topic 2019-07-22 19:28:07 +08:00
NIC619
4ab99485a6
Fix lint error 2019-07-21 23:32:54 +08:00
NIC619
41141c028b
FIx:
check topic exist in `pubsub.peer_topics`
2019-07-21 23:16:41 +08:00
NIC619
fd1f318b0c
Fix:
in mesh heartbeat, select from gossipsub peers subscribed to the topic
2019-07-21 23:14:08 +08:00
NIC619
404dc67e83
Fix:
prevent selecting peers from topic not in peer topics
2019-07-21 23:14:08 +08:00
NIC619
b5c3420c16
Refactor gossipsub.join 2019-07-21 23:14:08 +08:00
NIC Lin
1e78c21eca
Merge pull request #181 from NIC619/fix_handle_unsubscribe
Fix: handle unsubscribe message
2019-07-21 20:09:51 +08:00
mhchia
8d3b3fdb6c
Add debug msg 2019-07-20 22:47:37 +08:00
Kevin Mai-Husan Chia
085a5e7526
Apply suggestions from code review
Co-Authored-By: NIC Lin <twedusuck@gmail.com>
2019-07-20 22:43:32 +08:00
mhchia
73125b99b0
Fix the error due to the breaking change
In multiaddr, `split` is moved to `Multiaddr`'s method.
2019-07-20 22:43:31 +08:00
Kevin Mai-Husan Chia
4422888f6f
Merge pull request #180 from mhchia/fix/include-all-pkgs-setuptools
Change `packages` in `setup`
2019-07-20 22:39:57 +08:00
NIC619
36575e8c9b
Add check to prevent gossipsub re-join and re-leave 2019-07-19 19:59:48 +08:00
NIC619
89347be526
Prevent self re-unsubscription 2019-07-18 13:26:31 +08:00
NIC619
f25d97fbd3
Prevent self re-subscription 2019-07-15 16:32:05 +08:00
NIC619
6d9ec7a9c5
Handle the unsubscribe case 2019-07-15 16:28:29 +08:00
mhchia
31cd520076
Add the missing __init__.py in pb 2019-07-11 17:50:36 +08:00
mhchia
a7ce230d05
Change params multiaddr to maddr
To make pylint happy
2019-07-10 19:33:38 +08:00
mhchia
c8cb375d19
Make pylint happy
Not sure why it fails now, but happy previously.
2019-07-10 17:44:14 +08:00
mhchia
fa092505e8
Add missing "package file" 2019-07-10 00:07:58 +08:00
mhchia
10511d4930
Clean up a bit 2019-07-09 23:55:43 +08:00
NIC619
900b6d9f37
Fix docstring 2019-06-21 11:51:11 -06:00
Stuckinaboot
a4529d827d Modify peer_id str 2019-05-22 11:37:07 -04:00
Stuckinaboot
ae44c062df Remove truncating peerid when converting to string 2019-05-22 11:37:07 -04:00
ZX
49384ad3d7
Merge pull request #159 from libp2p/security-dev
Implement security
2019-05-07 09:56:19 -04:00
Stuckinaboot
867f3a70f6 Modify stream to be reader_writer 2019-05-07 01:31:54 -04:00
Robert Zajac
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
Alex Haynes
eea6a9fda7
Merge pull request #157 from libp2p/router-refactor
Refactored RoutedHost into Injected Router
2019-05-05 14:45:22 -04:00
Alex Haynes
ea4fd8e81f requested changes 2019-05-05 14:32:41 -04:00
stuckinaboot
ff500e6d8e
Merge branch 'master' into security-dev 2019-05-01 17:26:23 -04:00
Stuckinaboot
144dc8d854 Move simple security to libp2p/security 2019-05-01 17:21:11 -04:00
Stuckinaboot
4333c2d061 Fix linting issues' 2019-05-01 13:54:19 -04:00
Alex Haynes
0f5854a83b
Merge pull request #160 from libp2p/providers
implement add get providers
2019-04-30 21:48:17 -04:00
Stuckinaboot
e555f17a7b Fix bug in security multistream 2019-04-30 16:07:26 -04:00
Stuckinaboot
f59f27d4d0 Integrate security selectin into libp2p system 2019-04-30 03:09:05 -04:00
Stuckinaboot
1fb4372ede Refine security 2019-04-29 18:05:38 -04:00
zixuanzh
e1d6fdae73 pass test 2019-04-28 18:18:56 -04:00
Alex Haynes
2efc0d3b5c updated peerinfo encoding stored in DHT 2019-04-28 17:38:40 -04:00
zixuanzh
8ab387ac05 refactor add_router in swarm 2019-04-28 15:00:43 -04:00
ZX
21a99287b1
Merge branch 'master' into router-refactor 2019-04-28 14:51:54 -04:00
zixuanzh
3b1a3fb198 fix tests 2019-04-28 13:58:57 -04:00
Alex Haynes
fdaa4f56b9 working on adding tests 2019-04-27 21:59:25 -04:00
Stuckinaboot
eb26661652 Remove outdated encryption folder 2019-04-27 20:09:25 -04:00
Stuckinaboot
d861a00d60 Scaffold security 2019-04-27 19:42:05 -04:00
zixuanzh
4436886371 implement add get providers 2019-04-25 13:25:09 -04:00
zixuanzh
35f75c4dcd move transport to swarm constructor 2019-04-24 22:36:09 -04:00
Alex Haynes
159301306d Merge branch 'router-refactor' of https://github.com/libp2p/py-libp2p into router-refactor 2019-04-24 22:26:17 -04:00
Alex Haynes
7962060cc0 refactored routedhost into router passed to swarm 2019-04-24 22:17:35 -04:00
Alex Haynes
6c5bac53d7 refactored routedhost into router passed to swarm 2019-04-24 22:11:54 -04:00
Alex Haynes
c4f8bf6ce1 fixed requested changes 2019-04-24 20:59:22 -04:00
Alex Haynes
73ce3461e2 fixed typo 2019-04-21 13:45:18 -04:00
Alex Haynes
9c5cd05042 updated id access in kadpeerinfo 2019-04-21 13:27:44 -04:00
Alex Haynes
5fc57c1076 removed duplicate code 2019-04-21 13:22:11 -04:00
Alex Haynes
e7424d3673 added RoutedHost and updated new_node to support it 2019-04-20 17:35:05 -04:00
Alex Haynes
b0edc47b9a removed commented out code 2019-04-19 21:04:18 -04:00
Alex Haynes
dbe3fcbf5a updated same_home_as to work for variable number of addresses 2019-04-19 21:00:55 -04:00
zixuanzh
69f9aa5f0e refactor KadPeerInfo construction 2019-04-19 20:44:17 -04:00
zixuanzh
1512ae27a1 fix all tests 2019-04-19 20:09:32 -04:00
zixuanzh
fb687dad09 refactor peerinfo 2019-04-19 20:09:32 -04:00
zixuanzh
c03f2f63d2 replace id with peer_id 2019-04-19 20:09:32 -04:00
zixuanzh
9ddbd18ded replace node with KadPeerInfo
replace node with kadpeerinfo
2019-04-19 20:09:18 -04:00
ZX
14da7d49fe
Merge branch 'master' into peer_routing 2019-04-17 21:22:37 -04:00
Alex Haynes
d5c7cc7cb7 added changes from future commits to last passing bmuller commit 2019-04-17 20:21:59 -04:00
zixuanzh
d04798ce7c lru cache seen_messages 2019-04-05 21:46:03 -04:00
Stuckinaboot
686c55b09c Remove unnecessary print #146 2019-04-05 17:38:29 -04:00
Stuckinaboot
feaa393c5f Fix seen messages bug 2019-04-03 23:32:03 -04:00
Stuckinaboot
9d16aa834d Modify pubsub to have seen message check incorporate seqno and node id 2019-04-03 23:32:03 -04:00
Stuckinaboot
f6299c7dee Add priority queues to handle seqno 2019-04-03 23:32:03 -04:00
zixuanzh
225bd390df add source to rpc.proto 2019-04-03 14:08:05 -04:00
zixuanzh
0238dff217 remove unused code 2019-04-02 21:17:48 -04:00
zixuanzh
41d1aae55b clean up 2019-04-01 16:55:44 -04:00
zixuanzh
6eb070b78e fix all tests 2019-04-01 16:23:20 -04:00
zixuanzh
89a19a9213 reworked floodsub logic 2019-03-31 22:16:28 -04:00
zixuanzh
971dbe1a96 fix encoding issue 2019-03-30 19:30:58 -04:00
zixuanzh
f5af4b9016 remove message.py 2019-03-30 18:49:50 -04:00
zixuanzh
aec783b843 reworked subscribe unsubsrcibe 2019-03-30 17:59:08 -04:00
Alex Haynes
bf17f424b3 RPC conversion progress 2019-03-29 16:23:30 -04:00
zixuanzh
3cfeccaf17 rewrote get_hello_packet 2019-03-28 15:25:33 -04:00
zixuanzh
81d121a029 update from to from_id in proto 2019-03-28 15:23:56 -04:00
zixuanzh
1e8d93fcf6 add generated rpc code 2019-03-28 09:55:14 -04:00
zixuanzh
041e0fbe34 add pubsub proto 2019-03-28 09:41:38 -04:00
Christophe de Carvalho
c5289952ee
add routing interfaces 2019-03-26 20:44:01 +01:00
Christophe de Carvalho
2d1b9a03d1
clean up 2019-03-26 20:20:14 +01:00
Christophe de Carvalho
cd8cb5c443
refactoring of the code to implement IAdvertiser and IDiscoverer 2019-03-26 20:16:16 +01:00
Christophe de Carvalho Pereira Martins
4889a0a790
First POC of peer routing using kademlia lib 2019-03-26 20:15:19 +01:00
Christophe de Carvalho Pereira Martins
c24a279d2d
update kadmelia lib 2019-03-26 20:14:42 +01:00
stuckinaboot
57077cd3b4 [WIP] PubSub and FloodSub development (#133)
* 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
2019-03-23 13:52:02 -04:00
zixuanzh
d67aeb1974 fix linting issues 2019-03-17 21:30:56 -04:00
zixuanzh
fea26d9087 refactor new_node 2019-03-17 19:20:46 -04:00
Stuckinaboot
a5fa053815 Add return value to Notify 2019-03-15 11:22:20 -04:00
Stuckinaboot
01099e9f2c Add opened_stream call for non-initiator 2019-03-15 11:22:20 -04:00
Stuckinaboot
745c5e677c Fix outstanding unrelated lint issue in multiselect_client 2019-03-15 11:22:20 -04:00