From cf996f2ea3612646fe7221958d8273fa6158b2ab Mon Sep 17 00:00:00 2001 From: "Joerg T. (Mic92)" Date: Thu, 18 Aug 2011 19:48:22 +0200 Subject: [net] calculate time in a more clean way --- widgets/net.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'widgets/net.lua') 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 -- cgit v1.2.3