add sharedata

This commit is contained in:
Cloud Wu
2014-07-29 20:56:35 +08:00
parent 8e09fad233
commit 434cd1ca79
6 changed files with 1148 additions and 1 deletions

37
lualib/sharedata.lua Normal file
View 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