From 48b7d01113a6c1240416896fd1171d9d0a90f58c Mon Sep 17 00:00:00 2001 From: vyzo Date: Mon, 9 Mar 2020 01:17:11 +0200 Subject: [PATCH] finetune sticky mesh failure penalty parameter --- score.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/score.go b/score.go index 7f217b8..0e7f696 100644 --- a/score.go +++ b/score.go @@ -383,8 +383,11 @@ func (ps *peerScore) Prune(p peer.ID, topic string) { return } - if tstats.meshMessageDeliveriesActive && tstats.meshMessageDeliveries < ps.params.Topics[topic].MeshMessageDeliveriesThreshold { - tstats.meshFailurePenalty += 1 + // sticky mesh delivery rate failure penalty + threshold := ps.params.Topics[topic].MeshMessageDeliveriesThreshold + if tstats.meshMessageDeliveriesActive && tstats.meshMessageDeliveries < threshold { + deficit := threshold - tstats.meshMessageDeliveries + tstats.meshFailurePenalty += deficit * deficit } tstats.inMesh = false