code: func (p *peer) rejectUpdate(size uint64) bool {
  	now := mclock.Now()
  	if p.updateCounter == 0 {
  		p.updateTime = now
  	} else {
  		dt := now - p.updateTime
  		r := uint64(dt / mclock.AbsTime(allowedUpdateRate))
  		if p.updateCounter > r {
  			p.updateCounter -= r
  			p.updateTime += mclock.AbsTime(allowedUpdateRate * time.Duration(r))
  		} else {
  			p.updateCounter = 0
  			p.updateTime = now
  		}
  	}
  	p.updateCounter += size
  	return p.updateCounter > allowedUpdateBytes
  }
docs: // rejectUpdate returns true if a parameter update has to be rejected because
  // the size and/or rate of updates exceed the capacity limitation