From ca319178f45ce6256aed7913565d445571f6db22 Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期二, 20 四月 2021 11:04:07 +0800 Subject: [PATCH] add go api, wrap C api, not finished. --- src/bh_api.h | 119 ++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 65 insertions(+), 54 deletions(-) diff --git a/src/bh_api.h b/src/bh_api.h index eeb47a5..39b4cc6 100644 --- a/src/bh_api.h +++ b/src/bh_api.h @@ -5,26 +5,36 @@ extern "C" { #endif -struct BHSrcInfo; -struct BHServerCallbackTag; +typedef int (*FBHApiIn1Out1)(const void *proc_info, + const int proc_info_len, + void **reply, + int *reply_len, + const int timeout_ms); -bool BHRegister(const void *proc_info, - const int proc_info_len, - void **reply, - int *reply_len, - const int timeout_ms); - -bool BHRegisterTopics(const void *topics, - const int topics_len, +int BHApiIn1Out1Proxy(FBHApiIn1Out1 func, + const void *request, + const int request_len, void **reply, int *reply_len, const int timeout_ms); -bool BHSubscribeTopics(const void *topics, - const int topics_len, - void **reply, - int *reply_len, - const int timeout_ms); +int BHRegister(const void *proc_info, + const int proc_info_len, + void **reply, + int *reply_len, + const int timeout_ms); + +int BHRegisterTopics(const void *topics, + const int topics_len, + void **reply, + int *reply_len, + const int timeout_ms); + +int BHSubscribeTopics(const void *topics, + const int topics_len, + void **reply, + int *reply_len, + const int timeout_ms); typedef void (*FSubDataCallback)(const void *proc_id, const int proc_id_len, @@ -35,7 +45,7 @@ const int proc_id_len, const void *data, const int data_len, - BHServerCallbackTag *tag); + const void *tag); typedef void (*FClientCallback)(const void *proc_id, const int proc_id_len, @@ -45,56 +55,57 @@ const int data_len); void BHStartWorker(FServerCallback server_cb, FSubDataCallback sub_cb, FClientCallback client_cb); -bool BHServerCallbackReply(const BHServerCallbackTag *tag, - const void *data, - const int data_len); -bool BHHeartBeatEasy(const int timeout_ms); -bool BHHeartBeat(const void *proc_info, - const int proc_info_len, - void **reply, - int *reply_len, - const int timeout_ms); +int BHServerCallbackReply(const void *tag, + const void *data, + const int data_len); -bool BHPublish(const void *msgpub, - const int msgpub_len, - const int timeout_ms); +int BHHeartbeatEasy(const int timeout_ms); +int BHHeartbeat(const void *proc_info, + const int proc_info_len, + void **reply, + int *reply_len, + const int timeout_ms); -bool BHReadSub(const void *proc_id, - const int proc_id_len, - void **msgpub, - int *msgpub_len, - const int timeout_ms); +int BHPublish(const void *msgpub, + const int msgpub_len, + const int timeout_ms); -bool BHAsyncRequest(const void *request, - const int request_len, - void **msg_id, - int *msg_id_len); +int BHReadSub(void **proc_id, + int *proc_id_len, + void **msgpub, + int *msgpub_len, + const int timeout_ms); -bool BHRequest(const void *request, - const int request_len, - void **proc_id, - int *proc_id_len, - void **reply, - int *reply_len, - const int timeout_ms); +int BHAsyncRequest(const void *request, + const int request_len, + void **msg_id, + int *msg_id_len); -bool BHReadRequest(void **proc_id, - int *proc_id_len, - void **request, - int *request_len, - BHSrcInfo **src, - const int timeout_ms); +int BHRequest(const void *request, + const int request_len, + void **proc_id, + int *proc_id_len, + void **reply, + int *reply_len, + const int timeout_ms); -bool BHSendReply(BHSrcInfo *src, - const void *reply, - const int reply_len); +int BHReadRequest(void **proc_id, + int *proc_id_len, + void **request, + int *request_len, + void **src, + const int timeout_ms); + +int BHSendReply(void *src, + const void *reply, + const int reply_len); // int BHCleanUp(); void BHFree(void *buf, int size); -int BHGetLastError(void **msg, int &msg_len); +int BHGetLastError(void **msg, int *msg_len); #ifdef __cplusplus } -- Gitblit v1.8.0