local group

This commit is contained in:
云风
2012-10-11 22:26:38 +08:00
parent 837e79949d
commit 4fb7fec2fa
5 changed files with 60 additions and 1 deletions

32
service/group_local.lua Normal file
View File

@@ -0,0 +1,32 @@
local skynet = require "skynet"
local local_group = {}
for i=1,10000 do
local_group[i] = true
end
local command = {}
function command.NEW()
local k = next(local_group)
if k then
local_group[k] = nil
skynet.ret(skynet.pack(k))
else
skynet.ret(skynet.pack(nil))
end
end
function command.DELETE(id)
assert(handle_group[id] == nil)
skynet.clear_group(id)
local_group[id] = true
end
skynet.start(function()
skynet.dispatch("lua", function(_, _, cmd, id)
local f = command[cmd]
assert(f, cmd, id)
f(id)
end)
end)