Commit Graph

805 Commits

Author SHA1 Message Date
vyzo 06d72b93da fix bug in WithEventTracer
wrong nil check.
2020-04-18 11:09:06 +03:00
vyzo 39e65e8729 peer score parameter validation 2020-04-18 11:09:06 +03:00
vyzo 4175342bc8 implement periodic maintenance 2020-04-18 11:09:06 +03:00
vyzo f550385493 implement getIPs and refreshIPs 2020-04-18 11:09:06 +03:00
vyzo 38fbc7fa47 implement message delivery struct details 2020-04-18 11:09:06 +03:00
vyzo 7d862e2ee6 double check delivery to aboid duplicate counts 2020-04-18 11:09:06 +03:00
vyzo 48b7d01113 finetune sticky mesh failure penalty parameter 2020-04-18 11:09:06 +03:00
vyzo f40b06e515 sticky mesh failure penalty parameter 2020-04-18 11:09:06 +03:00
vyzo b7a49b2708 clean up the logic of mesh delivery window 2020-04-18 11:09:06 +03:00
vyzo 5fa0f9ed6a more logical code ordering 2020-04-18 11:09:06 +03:00
vyzo ca6778bc83 simplify duplicate mesh delivery tracking 2020-04-18 11:09:06 +03:00
vyzo 9c0b96f4e7 comment cosmetics 2020-04-18 11:09:06 +03:00
vyzo e17e266aa9 track message delivery time within the validation pipeline 2020-04-18 11:09:06 +03:00
vyzo 3610b05538 peer tracking 2020-04-18 11:09:06 +03:00
vyzo 283593fbc0 mesh tracking 2020-04-18 11:09:06 +03:00
vyzo 535c04481e minimize hash table accesses 2020-04-18 11:09:06 +03:00
vyzo 16eeacd798 message delivery tracking 2020-04-18 11:09:06 +03:00
vyzo dd3ce7760c respect the time in mesh cap 2020-04-18 11:09:06 +03:00
vyzo 8c0deb877d respec decay to zero parameter in counter decay 2020-04-18 11:09:06 +03:00
vyzo b1aff8d752 add nil check in Score function
necessary for when the score is not specified in gossipsub router.
2020-04-18 11:09:06 +03:00
vyzo 398fb82e5f fix peer IP tracking structure 2020-04-18 11:09:06 +03:00
vyzo 20e3cf02b1 peer score refresh: counter decay and mesh activation 2020-04-18 11:09:06 +03:00
vyzo 38883df429 peer score calculation 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 a02c4136b1 peer score parameters 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 5b55f0f78d track peer (re)transmissions in message cache 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
vyzo 455a836d7d hook the tracer for peer scoring 2020-04-18 11:09:06 +03:00
vyzo c50a739fb5 gomod: use go-libp2p-core@peer-records and go-libp2p-peerstore@certified-addrs 2020-04-18 11:09:06 +03:00
Yusef Napora 9765853bd2 update PR branch dependencies 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 5c48ff9a4e gomod: use go-libp2p-core@peer-records and go-libp2p-peerstore@certified-addrs 2020-04-18 11:09:06 +03:00
Steven Allen e2e0d9ee35
fix: fix a busy loop while offline (#278)
If advertising fails, we should wait and retry instead of busy looping.

fixes https://github.com/ipfs/go-ipfs/issues/7049
2020-04-06 23:26:05 -07:00
David Dias 14fab699aa
docs: update readme welcome message 2020-04-05 13:22:28 +01:00
David Dias d3d43e32be
docs: fix CI badges 2020-03-25 11:24:36 +00:00