mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-25 04:33:05 +00:00
@@ -663,7 +663,7 @@ end
|
||||
|
||||
-- Inject internal debug framework
|
||||
local debug = require "skynet.debug"
|
||||
debug(skynet, {
|
||||
debug.init(skynet, {
|
||||
dispatch = skynet.dispatch_message,
|
||||
suspend = suspend,
|
||||
})
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
local table = table
|
||||
local extern_dbgcmd = {};
|
||||
|
||||
return function (skynet, export)
|
||||
local extern_dbgcmd = {}
|
||||
|
||||
local function init(skynet, export)
|
||||
local internal_info_func
|
||||
|
||||
function skynet.info_func(func)
|
||||
@@ -12,7 +11,7 @@ end
|
||||
local dbgcmd
|
||||
|
||||
local function init_dbgcmd()
|
||||
dbgcmd = extern_dbgcmd
|
||||
dbgcmd = {}
|
||||
|
||||
function dbgcmd.MEM()
|
||||
local kb, bytes = collectgarbage "count"
|
||||
@@ -20,6 +19,7 @@ function dbgcmd.MEM()
|
||||
end
|
||||
|
||||
function dbgcmd.GC()
|
||||
|
||||
collectgarbage "collect"
|
||||
end
|
||||
|
||||
@@ -80,7 +80,8 @@ return dbgcmd
|
||||
end -- function init_dbgcmd
|
||||
|
||||
local function _debug_dispatch(session, address, cmd, ...)
|
||||
local f = (dbgcmd or init_dbgcmd())[cmd] -- lazy init dbgcmd
|
||||
dbgcmd = dbgcmd or init_dbgcmd() -- lazy init dbgcmd
|
||||
local f = dbgcmd[cmd] or extern_dbgcmd[cmd]
|
||||
assert(f, cmd)
|
||||
f(...)
|
||||
end
|
||||
@@ -92,5 +93,13 @@ skynet.register_protocol {
|
||||
unpack = assert(skynet.unpack),
|
||||
dispatch = _debug_dispatch,
|
||||
}
|
||||
|
||||
end
|
||||
|
||||
local function reg_debugcmd(name, fn)
|
||||
extern_dbgcmd[name] = fn
|
||||
end
|
||||
|
||||
return {
|
||||
init = init,
|
||||
reg_debugcmd = reg_debugcmd,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user