diff options
Diffstat (limited to 'dependence/include/stellar/packet_mq.h')
| -rw-r--r-- | dependence/include/stellar/packet_mq.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/dependence/include/stellar/packet_mq.h b/dependence/include/stellar/packet_mq.h new file mode 100644 index 0000000..94bb39b --- /dev/null +++ b/dependence/include/stellar/packet_mq.h @@ -0,0 +1,22 @@ +#pragma once + +#include "stellar.h" + +//session mq +typedef void packet_msg_free_cb_func(struct packet *pkt, void *msg, void *msg_free_arg); +typedef void on_packet_msg_cb_func(struct packet *pkt, int topic_id, const void *msg, void *plugin_env); + +//return topic_id +int stellar_packet_mq_create_topic(struct stellar *st, const char *topic_name, packet_msg_free_cb_func *msg_free_cb, void *msg_free_arg); + +int stellar_packet_mq_get_topic_id(struct stellar *st, const char *topic_name); + +int stellar_packet_mq_update_topic(struct stellar *st, int topic_id, packet_msg_free_cb_func *msg_free_cb, void *msg_free_arg); + +int stellar_packet_mq_destroy_topic(struct stellar *st, int topic_id); + +//return 0 if success, otherwise return -1. +int stellar_packet_mq_subscribe(struct stellar *st, int topic_id, on_packet_msg_cb_func *plugin_on_msg_cb, int plugin_id); //packet plugin only + +int packet_mq_publish_message(struct packet *pkt, int topic_id, void *msg); + |
