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
vyzo
64cdbbabbc
remove pending gossip and control messages on RemovePeer
2018-06-12 08:00:17 -07:00
vyzo
bd29e81e3a
history and gossip length are named constants
2018-06-12 08:00:17 -07:00
vyzo
c5fe290389
reduce gossip amplification; don't send to mesh peers
2018-06-12 08:00:17 -07:00
vyzo
0e288dc741
delete mesh before sending prunes on leave
2018-06-12 08:00:17 -07:00
vyzo
64d35994d1
shuffle peers
2018-06-12 08:00:17 -07:00
vyzo
07875f149e
implement flush
2018-06-12 08:00:17 -07:00
vyzo
74a10cfa70
piggybacking details
2018-06-12 08:00:17 -07:00
vyzo
7251c64e65
control message piggybacking logic
2018-06-12 08:00:17 -07:00
vyzo
78618fce23
maintain fanout peer lists on heartbeat
2018-06-12 08:00:17 -07:00
vyzo
bc25116516
clean peers that have left the topic on heartbeat
2018-06-12 08:00:17 -07:00
vyzo
73da341386
hearbeat preliminaries: overlay management
2018-06-12 08:00:17 -07:00
vyzo
34509d47b3
implement Join and Leave, refactor sendRPC
2018-06-12 08:00:17 -07:00
vyzo
e1fbe11c97
refactor Publish to use getPeers
2018-06-12 08:00:17 -07:00
vyzo
6a177a7396
handle gossipsub control messages
2018-06-12 08:00:17 -07:00
vyzo
375c4176b9
gossipsub publish
2018-06-12 08:00:17 -07:00
vyzo
b867200fee
gossipsub: heartbeat timer
2018-06-12 08:00:17 -07:00
vyzo
448f380722
gossipsub: router outline
2018-06-12 08:00:17 -07:00