diff --git a/modules/net/copper.lua b/modules/net/copper.lua index e1bf669..c9e0c8d 100644 --- a/modules/net/copper.lua +++ b/modules/net/copper.lua @@ -1,9 +1,12 @@ net = {} net.id = computer.address():sub(1,8) net.np = 4957 +net.cache = true +net.cache_time = 16 +net.log = false net.tm = {} if not component.list("ocemu")() then - _G.LKR_CACHE = true + net.cache = true end function net.send(id,po,msg) -- id, port, message if id and po and msg then @@ -18,7 +21,7 @@ spawn("copperd",function() print(xpcall(function () local fcache = {} local olog = log local function log(...) - if COPPER_LOG then + if net.log then olog(...) end end @@ -73,7 +76,7 @@ spawn("copperd",function() print(xpcall(function () end else if hops < 255 then - if fcache[dst] and _G.LKR_CACHE then + if fcache[dst] and net.cache then component.invoke(fcache[dst][1],"send",fcache[dst][2],net.np,"copper",cdlib.encode(hops+1,src,dst,data)) else for k,v in ipairs(net.tm) do @@ -87,7 +90,7 @@ spawn("copperd",function() print(xpcall(function () end for k,v in pairs(ps) do if v.lt < os.time()-1 then - if fcache[v.nid] and _G.LKR_CACHE then + if fcache[v.nid] and net.cache then local lma = fcache[v.nid][1] local rma = fcache[v.nid][2] component.invoke(lma,"send",rma,net.np,"copper",cdlib.encode(0,net.id,v.nid,relib.encode(v))) @@ -111,7 +114,8 @@ spawn("copperd",function() print(xpcall(function () end end for k,v in pairs(fcache) do - if v[3] < cot - 60 then + if v[3] < cot - net.cache_time then + log(k.." derezzed") fcache[k] = nil end end