添加消息同步处理逻辑,添加Linux信号量的实现
This commit is contained in:
@@ -40,13 +40,18 @@ typedef enum {
|
||||
*/
|
||||
typedef int (*has_msg_handle_cb)(unsigned char module_id, const unsigned char *buf, unsigned int len);
|
||||
|
||||
|
||||
/* -------------------- 注意 Attention -------------------- */
|
||||
/* 对于同一个id,不能同时在不同线程中调用 *_handle*, *_receive* 和 *delete_all* 的接口 */
|
||||
/* For the same id, the *_handle*, *_receive* and *delete_all* API cannot be called in different threads at the same time */
|
||||
|
||||
/* 基础功能 */
|
||||
int has_msg_init(void);
|
||||
int has_msg_os_init(void);
|
||||
|
||||
int has_msg_init_module(has_module_ID_e module_id); // HAS OS调用
|
||||
int has_msg_publish(has_module_ID_e module_id, void *buffer, unsigned int length);
|
||||
int has_msg_handle(has_module_ID_e module_id, has_msg_handle_cb cb);
|
||||
|
||||
int has_msg_os_init(void);
|
||||
int has_msg_handle(has_module_ID_e module_id, has_msg_handle_cb cb, int ms_timeout);
|
||||
|
||||
unsigned int has_msg_is_message_empty(has_module_ID_e module_id);
|
||||
unsigned int has_msg_get_message_number(has_module_ID_e module_id);
|
||||
@@ -54,9 +59,9 @@ int has_msg_delete_all_message(has_module_ID_e module_id);
|
||||
|
||||
/* 扩展功能 */
|
||||
int has_msg_handle_by_module(has_module_ID_e module_id, has_msg_handle_cb cb, has_module_ID_e pub_module_id);
|
||||
int has_msg_handle_latest(has_module_ID_e module_id, has_msg_handle_cb cb);
|
||||
unsigned int has_msg_receive(has_module_ID_e module_id, unsigned char *pub_module_id, unsigned char *buf_out);
|
||||
unsigned int has_msg_receive_latest(has_module_ID_e module_id, unsigned char *pub_module_id, unsigned char *buf_out);
|
||||
int has_msg_handle_latest(has_module_ID_e module_id, has_msg_handle_cb cb, int ms_timeout);
|
||||
unsigned int has_msg_receive(has_module_ID_e module_id, unsigned char *pub_module_id, unsigned char *buf_out, int ms_timeout);
|
||||
unsigned int has_msg_receive_latest(has_module_ID_e module_id, unsigned char *pub_module_id, unsigned char *buf_out, int ms_timeout);
|
||||
int has_msg_printf_subscribe(has_module_ID_e module_id);
|
||||
// int has_msg_subscribe(has_module_ID_e module_id, has_module_ID_e sub_id);
|
||||
// int has_msg_unsubscribe(has_module_ID_e module_id, has_module_ID_e sub_id);
|
||||
|
||||
Reference in New Issue
Block a user