summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authoryangwei <[email protected]>2024-02-28 19:13:35 +0800
committeryangwei <[email protected]>2024-02-28 19:14:21 +0800
commitdba8ffef7b3b69db106d75c86e784c57b88b92b8 (patch)
tree476b336216bb0bd2a2ce93d04136fafa1dec843b /examples
parent41d9fa5e80726a00c9ca3b66b7619f834dc66377 (diff)
✨ feat(polling plugin): support register polling plugin
Diffstat (limited to 'examples')
-rw-r--r--examples/stellar_plugin/simple_stellar_plugin.c20
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 *
*******************************/