mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-22 02:53:09 +00:00
add testresponse
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
v0.6.2 (2014-9-1)
|
||||||
|
-----------
|
||||||
|
* bugfix: only skynet.call response PTYPE_ERROR
|
||||||
|
|
||||||
v0.6.1 (2014-8-25)
|
v0.6.1 (2014-8-25)
|
||||||
-----------
|
-----------
|
||||||
* bugfix: datacenter.wakeup
|
* bugfix: datacenter.wakeup
|
||||||
|
|||||||
44
test/testresponse.lua
Normal file
44
test/testresponse.lua
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
local skynet = require "skynet"
|
||||||
|
|
||||||
|
local mode = ...
|
||||||
|
|
||||||
|
if mode == "TICK" then
|
||||||
|
-- this service whould response the request every 1s.
|
||||||
|
|
||||||
|
local response_queue = {}
|
||||||
|
|
||||||
|
local function response()
|
||||||
|
while true do
|
||||||
|
skynet.sleep(100) -- sleep 1s
|
||||||
|
for k,v in ipairs(response_queue) do
|
||||||
|
v(true, skynet.now()) -- true means succ, false means error
|
||||||
|
response_queue[k] = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
skynet.start(function()
|
||||||
|
skynet.fork(response)
|
||||||
|
skynet.dispatch("lua", function()
|
||||||
|
table.insert(response_queue, skynet.response())
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
local function request(tick, i)
|
||||||
|
print(i, "call", skynet.now())
|
||||||
|
print(i, "response", skynet.call(tick, "lua"))
|
||||||
|
print(i, "end", skynet.now())
|
||||||
|
end
|
||||||
|
|
||||||
|
skynet.start(function()
|
||||||
|
local tick = skynet.newservice(SERVICE_NAME, "TICK")
|
||||||
|
|
||||||
|
for i=1,5 do
|
||||||
|
skynet.fork(request, tick, i)
|
||||||
|
skynet.sleep(10)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user