diff options
| author | yangwei <[email protected]> | 2024-02-28 19:13:35 +0800 |
|---|---|---|
| committer | yangwei <[email protected]> | 2024-02-28 19:14:21 +0800 |
| commit | dba8ffef7b3b69db106d75c86e784c57b88b92b8 (patch) | |
| tree | 476b336216bb0bd2a2ce93d04136fafa1dec843b /examples/stellar_plugin | |
| parent | 41d9fa5e80726a00c9ca3b66b7619f834dc66377 (diff) | |
✨ feat(polling plugin): support register polling plugin
Diffstat (limited to 'examples/stellar_plugin')
| -rw-r--r-- | examples/stellar_plugin/simple_stellar_plugin.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/examples/stellar_plugin/simple_stellar_plugin.c b/examples/stellar_plugin/simple_stellar_plugin.c index 990aee9..eb7dd48 100644 --- a/examples/stellar_plugin/simple_stellar_plugin.c +++ b/examples/stellar_plugin/simple_stellar_plugin.c @@ -21,6 +21,7 @@ struct simple_stellar_plugin_env long long udp_packet_count; long long icmp_packet_count; long long icmp6_packet_count; + long long polling_times; }; struct mq_message_stat @@ -149,6 +150,12 @@ void simple_stellar_event_on_packet_func(struct packet *pkt, unsigned char ip_p return; } +void simple_stellar_plugin_on_polling_func(void *plugin_env) +{ + struct simple_stellar_plugin_env *env = (struct simple_stellar_plugin_env *)plugin_env; + env->polling_times++; + return; +} void *simple_stellar_event_plugin_init(struct stellar *st) { @@ -166,7 +173,14 @@ void *simple_stellar_event_plugin_init(struct stellar *st) if(tcp_plugin_id <= 0x10000 || udp_plugin_id <= 0x10000 || icmp_plugin_id <= 0x10000 || icmp6_plugin_id <= 0x10000) { - perror("register packet plugin failed\n"); + perror("register packet plugin return invalid plugin id\n"); + exit(-1); + } + + int polling_plugin_id=stellar_polling_plugin_register(st, simple_stellar_plugin_on_polling_func, env); + if(polling_plugin_id <= 0x20000) + { + perror("register polling plugin return invalid plugin id \n"); exit(-1); } @@ -197,14 +211,12 @@ void simple_stellar_event_plugin_exit(void *plugin_env) if(plugin_env) { struct simple_stellar_plugin_env *env = (struct simple_stellar_plugin_env *)plugin_env; - printf("(%s):tcp_packet_num:%lld, udp_packet_num:%lld, icmp_packet_num:%lld, icmp6_packet_num:%lld \n", __FUNCTION__, env->tcp_packet_count, env->udp_packet_count, env->icmp_packet_count, env->icmp6_packet_count); + printf("(%s):tcp_packet_num:%lld, udp_packet_num:%lld, icmp_packet_num:%lld, icmp6_packet_num:%lld, polling_times:%lld\n", __FUNCTION__, env->tcp_packet_count, env->udp_packet_count, env->icmp_packet_count, env->icmp6_packet_count, env->polling_times); FREE(plugin_env); } return; } -// TODO: add polling entry - /******************************* * mq plugin * *******************************/ |
