103 Commits

Author SHA1 Message Date
Raúl Kripalani
fc38f556a3 comments and nits. 2020-04-18 11:09:06 +03:00
vyzo
8809484a47 support direct peering agreements 2020-04-18 11:09:06 +03:00
vyzo
ce3da3facd move self-publish check to pubsub 2020-04-18 11:09:06 +03:00
vyzo
ea314605d3 don't forward messages with source ourselves but not published by ourselves
per stebalien's request.
2020-04-18 11:09:06 +03:00
vyzo
0cab7f5e59 increase connection manager weight for mesh peers 2020-04-18 11:09:06 +03:00
vyzo
adad40c764 reraise GossipSubPrunePeers to 16
so that bootstrappers can give us a good enough chunk of peers to connect to.
2020-04-18 11:09:06 +03:00
vyzo
71ab9c1d73 use a struct for aggregating score thresholds 2020-04-18 11:09:06 +03:00
vyzo
f6f34cfc99 make PX optional and disabled by default, gate by acceptPXThreshold 2020-04-18 11:09:06 +03:00
vyzo
8a5114c127 fix rebase artifacts 2020-04-18 11:09:06 +03:00
vyzo
90e6984148 track heartbeat ticks, only clear backoff every 15. 2020-04-18 11:09:06 +03:00
vyzo
f70dcbe77c check exact expiration date of backoff when pruning because of backoff 2020-04-18 11:09:06 +03:00
vyzo
6bcaacd74b add backoff when pruning because of negative score 2020-04-18 11:09:06 +03:00
vyzo
15d204cc14 refresh backoff when pruning during the backoff period 2020-04-18 11:09:06 +03:00
vyzo
d0979258f7 shuffle IWANT list 2020-04-18 11:09:06 +03:00
vyzo
244a39f419 validate the threshold values 2020-04-18 11:09:06 +03:00
vyzo
d5e432a62b move score starting nil check inside the score implementation 2020-04-18 11:09:06 +03:00
vyzo
ff89a0e619 short-circuit score computation in peer selection filters 2020-04-18 11:09:06 +03:00
vyzo
39e65e8729 peer score parameter validation 2020-04-18 11:09:06 +03:00
vyzo
8d82c2bdec explicit Start for peer scoring to inject the router
so that we can unit test without a router.
2020-04-18 11:09:06 +03:00
vyzo
31a279b9f0 limit message retransmissions through IWANT requests 2020-04-18 11:09:06 +03:00
vyzo
f9d29c47b6 adaptive gossip dissemination 2020-04-18 11:09:06 +03:00
vyzo
8fb6924f7c select good peers for PX, tune the px related limits 2020-04-18 11:09:06 +03:00
vyzo
2ddc4b999f allow gossipsub to graylist peers based on score 2020-04-18 11:09:06 +03:00
vyzo
87bbe69a8b router.Publish doesn't need the source, it takes the whole message now 2020-04-18 11:09:06 +03:00
vyzo
75fd8826af backoff when we prune too, refuse to reGRAFT backed off peers 2020-04-18 11:09:06 +03:00
vyzo
56dbe5dc8a increase D_score to 4 2020-04-18 11:09:06 +03:00
vyzo
69e4102a6d correctly implement flood publishing
Only applies to messages that have been published by our own peer!
2020-04-18 11:09:06 +03:00
vyzo
4f6ca1b1b7 implement flood publishing option 2020-04-18 11:09:06 +03:00
vyzo
dc6af4bbe6 keep D peer when pruning for oversubscription 2020-04-18 11:09:06 +03:00
vyzo
712bab2c64 remove peers with negative score from fanout 2020-04-18 11:09:06 +03:00
vyzo
80f3b8c45b hook score into heartbeat maintenance 2020-04-18 11:09:06 +03:00
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