From 139d94d9f7b5a7cc466b25e734ee6ce886b09381 Mon Sep 17 00:00:00 2001 From: rjl493456442 Date: Tue, 3 Mar 2020 20:58:32 +0800 Subject: [PATCH] les: add fixes --- les/clientpool.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/les/clientpool.go b/les/clientpool.go index 385367035c..ebdddd3a6a 100644 --- a/les/clientpool.go +++ b/les/clientpool.go @@ -336,14 +336,13 @@ func (f *clientPool) posExpiration(now mclock.AbsTime) fixed64 { defer f.expLock.RUnlock() if f.posExpTC == 0 { - return 0 + return f.posExp } dt := now - f.freeRatioLastUpdate if dt < 0 { dt = 0 } - dt /= mclock.AbsTime(time.Second) - return f.posExp + fixed64(float64(dt)/float64(f.posExpTC)*f.freeRatio) + return f.posExp + fixed64(float64(dt)*f.posExpTCi*f.freeRatio) } // negExpiration implements expirationController. Expiration happens only when @@ -353,14 +352,13 @@ func (f *clientPool) negExpiration(now mclock.AbsTime) fixed64 { defer f.expLock.RUnlock() if f.negExpTC == 0 { - return 0 + return f.negExp } dt := now - f.freeRatioLastUpdate if dt < 0 { dt = 0 } - dt /= mclock.AbsTime(time.Second) - return f.negExp + fixed64(float64(dt)/float64(f.negExpTC)*f.freeRatio) + return f.negExp + fixed64(float64(dt)*f.negExpTCi*f.freeRatio) } // totalTokenLimit returns the current token supply limit. Token prices are based