# HG changeset patch # User Matthew Wild # Date 1341797747 -3600 # Node ID 0e9a5b63206a6c5d6a4b6837865ee3c738099b3d # Parent 02e5e9fa37b85ed5adc5e03fadc2f1ab3f6a02bb util.throttle: floor() internal balance calculation diff -r 02e5e9fa37b8 -r 0e9a5b63206a util/throttle.lua --- a/util/throttle.lua Sun Jul 08 18:54:30 2012 +0100 +++ b/util/throttle.lua Mon Jul 09 02:35:47 2012 +0100 @@ -1,6 +1,7 @@ local gettime = require "socket".gettime; local setmetatable = setmetatable; +local floor = math.floor; module "throttle" @@ -11,7 +12,7 @@ local newt = gettime(); local elapsed = newt - self.t; self.t = newt; - local balance = self.rate * elapsed + self.balance; + local balance = floor(self.rate * elapsed) + self.balance; if balance > self.max then self.balance = self.max; else