mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-25 04:33:05 +00:00
add sharedata
This commit is contained in:
37
lualib/sharedata.lua
Normal file
37
lualib/sharedata.lua
Normal file
@@ -0,0 +1,37 @@
|
||||
local skynet = require "skynet"
|
||||
local sd = require "sharedata.corelib"
|
||||
|
||||
local service
|
||||
|
||||
skynet.init(function()
|
||||
service = skynet.uniqueservice "sharedatad"
|
||||
end)
|
||||
|
||||
local sharedata = {}
|
||||
|
||||
local function monitor(name, obj, cobj)
|
||||
local newobj = skynet.call(service, "lua", "monitor", name, cobj)
|
||||
sd.update(obj, newobj)
|
||||
end
|
||||
|
||||
function sharedata.query(name)
|
||||
local obj = skynet.call(service, "lua", "query", name)
|
||||
local r = sd.box(obj)
|
||||
skynet.send(service, "lua", "confirm" , obj)
|
||||
skynet.fork(monitor,name, r, obj)
|
||||
return r
|
||||
end
|
||||
|
||||
function sharedata.new(name, v)
|
||||
skynet.call(service, "lua", "new", name, v)
|
||||
end
|
||||
|
||||
function sharedata.update(name, v)
|
||||
skynet.call(service, "lua", "update", name, v)
|
||||
end
|
||||
|
||||
function sharedata.delete(name)
|
||||
skynet.call(service, "lua", "delete", name)
|
||||
end
|
||||
|
||||
return sharedata
|
||||
Reference in New Issue
Block a user