From f4fb1a18015d88aa7b424709aac346da59edf410 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felf=C3=B6ldi=20Zsolt?= Date: Mon, 13 May 2019 13:26:47 +0200 Subject: les: fixed cost table update (#19546) --- les/peer.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'les/peer.go') diff --git a/les/peer.go b/les/peer.go index a8aad3cd0..7a163cd1d 100644 --- a/les/peer.go +++ b/les/peer.go @@ -479,7 +479,7 @@ func (p *peer) Handshake(td *big.Int, head common.Hash, headNum uint64, genesis costList = testCostList() } send = send.add("flowControl/MRC", costList) - p.fcCosts = costList.decode() + p.fcCosts = costList.decode(ProtocolLengths[uint(p.version)]) p.fcParams = server.defParams } else { //on client node @@ -571,7 +571,7 @@ func (p *peer) Handshake(td *big.Int, head common.Hash, headNum uint64, genesis } p.fcParams = params p.fcServer = flowcontrol.NewServerNode(params, &mclock.System{}) - p.fcCosts = MRC.decode() + p.fcCosts = MRC.decode(ProtocolLengths[uint(p.version)]) if !p.isOnlyAnnounce { for msgCode := range reqAvgTimeCost { if p.fcCosts[msgCode] == nil { @@ -604,7 +604,10 @@ func (p *peer) updateFlowControl(update keyValueMap) { } var MRC RequestCostList if update.get("flowControl/MRC", &MRC) == nil { - p.fcCosts = MRC.decode() + costUpdate := MRC.decode(ProtocolLengths[uint(p.version)]) + for code, cost := range costUpdate { + p.fcCosts[code] = cost + } } } -- cgit v1.2.3