diff --git a/les/flowcontrol/manager.go b/les/flowcontrol/manager.go index 28cc6f0fe7..c479acf8b7 100644 --- a/les/flowcontrol/manager.go +++ b/les/flowcontrol/manager.go @@ -81,10 +81,14 @@ func NewClientManager(rcTarget, maxSimReq, maxRcSum uint64) *ClientManager { cm := &ClientManager{ nodes: make(map[*cmNode]struct{}), resumeQueue: make(chan chan bool), - rcRecharge: rcConst * rcConst / (100*rcConst/rcTarget - rcConst), + rcRecharge: rcConst * rcConst, maxSimReq: maxSimReq, maxRcSum: maxRcSum, } + if rcTarget < 100 { + cm.rcRecharge /= (100*rcConst/rcTarget - rcConst) + } + go cm.queueProc() return cm }