Commit Graph

63 Commits

Author SHA1 Message Date
3debd2c808 Run black and isort w/ the new config 2019-08-13 14:36:42 -07:00
28f6de37ee Fix the rest of the typing hints (#232)
* 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
2019-08-11 16:47:54 +08:00
c536aa3e07 flake8 2019-08-08 16:09:02 +08:00
b26426214e Update libp2p/pubsub/pubsub.py
Co-Authored-By: Kevin Mai-Husan Chia <mhchia@users.noreply.github.com>
2019-08-07 11:43:32 +08:00
d4febea469 Message was not enforced to carry signature yet 2019-08-06 13:05:31 +08:00
1cea1264a4 Raise exception when topic validation failed 2019-08-06 12:38:31 +08:00
47643a67c6 Apply PR feedback 2019-08-06 12:32:18 +08:00
b96ef0e6c7 Fix:
`_is_subscribed_to_msg` need only subscribe to one of the topics
2019-08-05 18:20:04 +08:00
a2efd03dfa Schedule push_msg into a task 2019-08-05 18:19:32 +08:00
2bb7f42c20 Add validators to push_msg 2019-08-05 18:19:32 +08:00
19ce5bb420 Add signature_validator stub and docstring 2019-08-05 18:19:32 +08:00
e1b86904e3 Add validate_msg and test 2019-08-05 18:19:32 +08:00
ec2c566e5a Fix validator return type and add docstring 2019-08-05 18:19:32 +08:00
f8ca4fa1ef Add get_msg_validators and test 2019-08-05 18:19:32 +08:00
cf69f7e800 Rename to set_topic_validator and add test 2019-08-05 18:19:31 +08:00
b1f4813195 Add add/remove topic validator functions 2019-08-05 18:19:31 +08:00
3973f1d13c Add pubsub.topic_validators 2019-08-05 18:19:31 +08:00
7477b29508 run black w/ extended line length 2019-08-04 12:37:41 +08:00
cb301fcc51 Opt-out of linting on the special cases we have, given new ignore rules 2019-08-04 12:37:27 +08:00
c8005c8113 Run isort in repo 2019-08-03 17:50:14 +08:00
2e94fcf56c Remove pylint:disable 2019-08-02 23:26:06 +08:00
cd684aad9e Update peer_id to type peer.ID in pubsub folder 2019-08-02 14:45:23 +08:00
0ae9840928 Run black over repo 2019-07-31 15:00:12 -07:00
9683d5e8ac Add tests for Pubsub
- `test_handle_subscription`
- `test_handle_talk`
- `test_message_all_peers`
2019-07-31 14:15:11 +08:00
3a42d72cd9 Fix a minor bug for pb optional field
In `Pubsub.continuously_read_stream`, it checks whether this is a
control message enclosed in RPC message with `if rpc_incoming.control:`.
However, in pb2, the condition is always true because a default value is
returned when a field is not set. Solved it by changing it to
`if rpc_incoming.HasField("control"):`.
2019-07-31 14:15:11 +08:00
550289a439 Combine test_subscription.py to test_pubsub.py
And add a bunch of tests for pubsub
2019-07-31 14:15:10 +08:00
96563c0d84 Add fixtures for pubsub and router
And a starting `test_pubsub.py`
2019-07-31 14:14:13 +08:00
5e215901c0 Apply PR feedback 2019-07-30 23:41:28 +08:00
437b7665c4 Fix:
type object not subscriptable
2019-07-30 18:00:30 +08:00
c4105688d1 Fix after rebase 2019-07-30 17:31:08 +08:00
e53727d301 Apply PR feedback: fix type hints 2019-07-30 16:28:25 +08:00
2d4e23cfe2 Fix cyclic import and lint 2019-07-30 16:28:05 +08:00
a4a0d79f6d Improve import layout 2019-07-30 16:27:29 +08:00
d716e90e17 Fix on type hints 2019-07-30 16:25:33 +08:00
b2f496d081 Fix type hints except pb msg in pubsub folder 2019-07-30 16:24:34 +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
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
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
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
d6c19e71a6 Add typing and notes in pubsub 2019-07-24 14:54:30 +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
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