LKR cache improvements.
This commit is contained in:
parent
437f65e0dc
commit
e8bd168ad8
@ -2,6 +2,9 @@ net = {}
|
|||||||
net.id = computer.address():sub(1,8)
|
net.id = computer.address():sub(1,8)
|
||||||
net.np = 4957
|
net.np = 4957
|
||||||
net.tm = {}
|
net.tm = {}
|
||||||
|
if not component.list("ocemu")() then
|
||||||
|
_G.LKR_CACHE = true
|
||||||
|
end
|
||||||
function net.send(id,po,msg) -- id, port, message
|
function net.send(id,po,msg) -- id, port, message
|
||||||
if id and po and msg then
|
if id and po and msg then
|
||||||
event.push("sendmsg",id,po,msg)
|
event.push("sendmsg",id,po,msg)
|
||||||
@ -13,6 +16,12 @@ spawn("copperd",function() print(xpcall(function ()
|
|||||||
local pt = {}
|
local pt = {}
|
||||||
local ps = {}
|
local ps = {}
|
||||||
local fcache = {}
|
local fcache = {}
|
||||||
|
local olog = log
|
||||||
|
local function log(...)
|
||||||
|
if COPPER_LOG then
|
||||||
|
olog(...)
|
||||||
|
end
|
||||||
|
end
|
||||||
for a,t in component.list("modem") do
|
for a,t in component.list("modem") do
|
||||||
table.insert(net.tm,component.proxy(a))
|
table.insert(net.tm,component.proxy(a))
|
||||||
component.proxy(a).open(net.np)
|
component.proxy(a).open(net.np)
|
||||||
@ -81,7 +90,6 @@ spawn("copperd",function() print(xpcall(function ()
|
|||||||
if fcache[v.nid] and _G.LKR_CACHE then
|
if fcache[v.nid] and _G.LKR_CACHE then
|
||||||
local lma = fcache[v.nid][1]
|
local lma = fcache[v.nid][1]
|
||||||
local rma = fcache[v.nid][2]
|
local rma = fcache[v.nid][2]
|
||||||
print(lma,rma)
|
|
||||||
component.invoke(lma,"send",rma,net.np,"copper",cdlib.encode(0,net.id,v.nid,relib.encode(v)))
|
component.invoke(lma,"send",rma,net.np,"copper",cdlib.encode(0,net.id,v.nid,relib.encode(v)))
|
||||||
else
|
else
|
||||||
for l,m in ipairs(net.tm) do
|
for l,m in ipairs(net.tm) do
|
||||||
@ -102,6 +110,11 @@ spawn("copperd",function() print(xpcall(function ()
|
|||||||
pt[k] = nil
|
pt[k] = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
for k,v in pairs(fcache) do
|
||||||
|
if v[3] < cot - 60 then
|
||||||
|
fcache[k] = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end)) end)
|
end)) end)
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user