aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg T. (Mic92) <jthalheim@gmail.com>2011-08-18 19:48:22 +0200
committerAdrian C. (anrxc) <anrxc@sysphere.org>2011-08-18 20:39:33 +0200
commitcf996f2ea3612646fe7221958d8273fa6158b2ab (patch)
treeba1cfc8e81eb5bb52345f01d3ef524527442a766
parentf1844decefb931f5317fa9cadbaf65dfcdd7d829 (diff)
downloadvicious-legacy-cf996f2ea3612646fe7221958d8273fa6158b2ab.tar.xz
[net] calculate time in a more clean way
-rw-r--r--widgets/net.lua10
1 files changed, 5 insertions, 5 deletions
diff --git a/widgets/net.lua b/widgets/net.lua
index 5991b40..3d92991 100644
--- a/widgets/net.lua
+++ b/widgets/net.lua
@@ -47,17 +47,15 @@ local function worker(format)
local sysnet = helpers.pathtotable("/sys/class/net/" .. name)
args["{"..name.." carrier}"] = tonumber(sysnet.carrier) or 0
+ local now = os.time()
if nets[name] == nil then
-- Default values on the first run
nets[name] = {}
helpers.uformat(args, name .. " down", 0, unit)
helpers.uformat(args, name .. " up", 0, unit)
-
- nets[name].time = os.time()
else -- Net stats are absolute, substract our last reading
- local interval = os.time() - nets[name].time > 0 and
- os.time() - nets[name].time or 1
- nets[name].time = os.time()
+ local interval = now - nets[name].time
+ if interval < 0 then interval = 1 end
local down = (recv - nets[name][1]) / interval
local up = (send - nets[name][2]) / interval
@@ -66,6 +64,8 @@ local function worker(format)
helpers.uformat(args, name .. " up", up, unit)
end
+ nets[name].time = now
+
-- Store totals
nets[name][1] = recv
nets[name][2] = send