summaryrefslogtreecommitdiff
path: root/example/plugin/example_plugin-2.lua
blob: 62c13edbc3210735a788e3a04f2d2f55675e9a98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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