This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
niubinghui-luapluginmanage/example/plugin/example_plugin-2.lua

55 lines
1.9 KiB
Lua

function plugin_ctx_new(sess, plug_env, sess_context)
print("now create new ctx example-2, plugin id ", plug_env.id)
local sesstype = session.gettype(sess)
sess_context.id = 200
sess_context.called = 0
print("session type is ", sesstype)
-- session.setid(sess, 50000)
end
function plugin_ctx_free(sess, sess_context, plug_env)
print(plug_env.id, sess_context.id, sess_context.called, plug_env.called)
print("now begin to free ctx context example-2")
end
function on_message(sess, topic_id, msg, sess_context, env)
-- print(sess, topic_id, msg, sess_context, env)
sess_context.called = sess_context.called + 1
env.calledcount = env.calledcount + 1
print("call on message", env.id, env.calledcount, sess_context.called)
end
function free_message()
print("free message")
end
function plugin_load(stellar, plug_env)
print("now begin to load plugin example-2")
plug_env.id = plugin_manage.register(stellar, plugin_ctx_new, plugin_ctx_free, plug_env)
topic_id = message.gettopicid(stellar, "TCP")
print("get topic id is ", topic_id)
message.subscribetopic(stellar, topic_id, on_message, plug_env.id)
-- print("subscribetopic result", bool)
-- mq_topic_id = message.gettopicid(stellar, "SESSION_MQ_TOPIC")
-- print("get session mq topic is", mq_topic_id)
-- message.subscribetopic(stellar, mq_topic_id, on_message, plug_env.id)
plug_env.calledcount = 0
--[[
create_id = message.gettopicid(stellar, "TOPIC_LUA_SESSION_TEST")
if (create_id < 0)
then
print("no topic, create new one")
create_table = {}
create_id = message.createtopic(stellar, "TOPIC_LUA_SESSION_TEST", free_message, create_table)
print("create topic is ", create_id)
else
print("has created, id is ", create_id)
end
--]]
end
function plugin_unload(plug_env)
print("now running unload plugin example-2 function, plugin id is ", plug_env.id)
end