vyzo
487bbaf09f
heartbeat doPX is a more complex decision
2020-04-18 11:09:06 +03:00
vyzo
f9ce661bda
filter peers with negative score in initial mesh on join
2020-04-18 11:09:06 +03:00
vyzo
c13e9c07e4
hook peer score into control message handlers
2020-04-18 11:09:06 +03:00
vyzo
7d928697a2
peer score scaffolding
2020-04-18 11:09:06 +03:00
Yusef Napora
4c804a954a
track changes to peer records in -core
2020-04-18 11:09:06 +03:00
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
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