67 Commits

Author SHA1 Message Date
vyzo
946f35c4d4 fix rebase artifacts 2020-03-24 15:52:34 +02:00
vyzo
ce1970d18d don't spawn a goroutine for scheduling connections 2020-03-24 15:52:34 +02:00
vyzo
0dec90571b shuffle peers when limiting px set 2020-03-24 15:52:34 +02:00
vyzo
17fd85f02c add limit to the number of peers to connect to from px 2020-03-24 15:52:34 +02:00
vyzo
f20f93004b connect to peers obtained through px 2020-03-24 15:52:34 +02:00
vyzo
85b455fa50 backoff grafting to peers that have pruned us 2020-03-24 15:52:34 +02:00
vyzo
6b80c4078d peer exchange on prune 2020-03-24 15:52:34 +02:00
vyzo
73af710419 protocol ID for gossipsub v1.1 2020-03-24 15:52:34 +02:00
Yusef Napora
559cf91dce renaming in error messages & local var 2020-03-24 15:52:34 +02:00
Yusef Napora
d860620a23 add missing continue to error case 2020-03-24 15:52:34 +02:00
Yusef Napora
23e30d529a fix import & var naming 2020-03-24 15:52:34 +02:00
Yusef Napora
919d81fd91 track changes to peer records in -core 2020-03-24 15:52:34 +02:00
vyzo
5b0ec14ea7 don't spawn a goroutine for scheduling connections 2020-03-24 15:52:34 +02:00
vyzo
efb09f2984 shuffle peers when limiting px set 2020-03-24 15:52:34 +02:00
vyzo
e4667b6073 add limit to the number of peers to connect to from px 2020-03-24 15:52:34 +02:00
vyzo
a4c5325665 make connection timeout a variable, set for 30s (instead of 10s) 2020-03-24 15:52:34 +02:00
vyzo
d118e1d554 connect to peers obtained through px 2020-03-24 15:52:34 +02:00
vyzo
806fd24a58 backoff grafting to peers that have pruned us 2020-03-24 15:52:34 +02:00
vyzo
6c59beedb8 peer exchange on prune 2020-03-24 15:52:34 +02:00
vyzo
6fc8050bac protocol ID for gossipsub v1.1 2020-03-24 15:52:34 +02:00
protolambda
6bd07a71fc
PR feedback: name change and account for different options order 2019-12-16 12:46:30 +01:00
protolambda
7981f9bfbd
fixes #247: implement msg id function as pubsub option 2019-12-16 03:54:40 +01:00
vyzo
958e09a5b3 remove useless nil check when initializing subsystem tracers 2019-11-15 20:42:04 +02:00
vyzo
67275a6382 tracing scaffolding 2019-11-15 20:42:04 +02:00
Adin Schmahmann
f9c26c2e68 Added libp2p discovery capabilities to PubSub.
When the WithDiscovery option is passed to PubSub then PubSub will be able to search for more peers that are interested in our topics.

This includes the ability for Publishes (via Topic.Publish()) to block until the router is ready to publish. When a router is ready is currently defined by a combination of a user defined MinTopicSize function (passed into topic.Publish via the WithReadiness publish option) and the properties of the pubsub router used. The discovery tests show example usage.
2019-10-31 16:39:18 -04:00
Raúl Kripalani
8d7838b031 rename queueGossip() to enqueueGossip(). 2019-10-12 21:50:20 +09:00
Raúl Kripalani
2a90debb89 rename pushGossip to queueGossip for accuracy. 2019-10-06 18:53:05 +09:00
Raúl Kripalani
9103afa349 emitGossip: gossip to D peers. 2019-10-06 18:52:11 +09:00
Raúl Kripalani
cd94989155 emitGossip: rename param name for clarity. 2019-10-06 18:50:40 +09:00
vyzo
2bac4705dc fix very minor bug in gossipsub 2019-08-13 12:01:55 +03:00
Topper Bowers
5e883d794c also check for nil peers (h/t @brandonwestcott) 2019-05-28 12:09:08 -04:00
Raúl Kripalani
49274b0e8a
migrate to consolidated types. (#185) 2019-05-26 17:19:03 +01:00
vyzo
96c5b40934 godoc cosmetics 2019-01-04 13:14:04 +02:00
vyzo
2478eb9a87 gossipsub: tag mesh peers to discourage pruning their connections 2018-10-26 15:49:34 +03:00
Steven Allen
bd1a4630b9 move to go-libp2p-pubsub
Updates for move from go-floodsub to go-libp2p-pubsub.

fixes https://github.com/libp2p/go-libp2p-pubsub/issues/4
2018-10-18 21:10:16 +01:00
Kevin Atkinson
0827f5e955 gx publish 0.9.31 2018-10-04 19:23:53 -04:00
Kevin Atkinson
1abb0209ce gx publish 0.9.30 2018-10-04 18:41:48 -04:00
James Ray
096722488e
pubish -> publish 2018-09-17 14:57:32 +10:00
gukq
91285f3022 Just repair spelling mistake
Signed-off-by: gukq <gukaiqiang@gmail.com>
2018-09-10 23:17:23 +08:00
vyzo
0cd357b295 control parameter for gossipsub initial heartbeat delay 2018-08-29 11:15:41 +03:00
vyzo
de4adefafb fix data race in ownership of RPC when piggybacking control messages. 2018-08-28 21:07:18 +03:00
vyzo
bb5dd40680 basic logging for gossipsub 2018-08-09 12:16:19 +03:00
vyzo
1dc8405449 more docs for gossipsub router, expire fanout peers when we haven't published in a while 2018-06-12 08:00:17 -07:00
vyzo
b490d117f2 make heartbeat interval a parameter, turn all gossipsub parameters into variables 2018-06-12 08:00:17 -07:00
vyzo
009efebdaf harden piggybackControl
don't create a control object if the graft/prune are stale and only assign
the relevant fields.
2018-06-12 08:00:17 -07:00
vyzo
af061f5040 refactor sendGraftPrune out of heartbeat 2018-06-12 08:00:17 -07:00
vyzo
ef730627ad remove unnecessary and potentially harmful check from heartbeat
- the check is unnecessary because peers emit PRUNE on Leave
- the check is harmful, because the ANNOUNCE message might have
  benn lost (or reordered after the GRAFT depending on the retry
  strategy), which would leave the mesh in an inconsistent state.
2018-06-12 08:00:17 -07:00
vyzo
4667b0ae94 fanout sources should emit gossip too 2018-06-12 08:00:17 -07:00
vyzo
1f5959bf54 fix slice bounds issues; getCount takes care of the slicing 2018-06-12 08:00:17 -07:00
vyzo
599ccffecd shift the message history window at the end of the heartbeat 2018-06-12 08:00:17 -07:00