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