mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-24 20:23:06 +00:00
local group
This commit is contained in:
32
service/group_local.lua
Normal file
32
service/group_local.lua
Normal 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)
|
||||
Reference in New Issue
Block a user