From 758438289fc45829a8f6cef1b42afed0a1a8cb60 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期三, 03 二月 2021 15:59:58 +0800 Subject: [PATCH] uuid msg --- src/net/net_mod_socket_wrapper.h | 72 ++++++++++++++++++++++++++++++------ 1 files changed, 60 insertions(+), 12 deletions(-) diff --git a/src/net/net_mod_socket_wrapper.h b/src/net/net_mod_socket_wrapper.h index b794545..2f73c7b 100644 --- a/src/net/net_mod_socket_wrapper.h +++ b/src/net/net_mod_socket_wrapper.h @@ -120,6 +120,54 @@ */ int net_mod_socket_recvfrom_nowait(void *_socket, void **buf, int *size, int *key); + + +/** + * @brief 鎺ュ彈娑堟伅锛屽苟鎶奵allback鍑芥暟杩斿洖鐨勬暟鎹彂閫佸洖瀵规柟锛屼竴鐩寸瓑寰呭畬鎴� + * + * @param recvbuf 鎺ュ彈鍒扮殑娑堟伅瀛樻斁鐨勭紦瀛樺湴鍧�锛岃buf浣跨敤瀹屾垚鍚庨渶瑕佹墜鍔ㄩ噴鏀� + * @param recvsize 鎺ュ彈鍒版秷鎭殑闀垮害 + * @param key 浠庤皝鍝噷鏀跺埌鐨勪俊鎭� + * @callback void (*recv_callback_fn)(void **sendbuf, int *sendsize) + * sendbuf 鍜� sendsize鏄痗allbak_fn鍥炶皟鍑芥暟鐨勮繑鍥炲��, 鍒嗗埆琛ㄧず杩斿洖鐨勬暟鎹紝鍜岃繑鍥炴暟鎹殑闀垮害銆� + * + * @return 0鏄垚鍔燂紝 鍏朵粬鍊兼槸澶辫触鐨勯敊璇爜 + */ +int net_mod_socket_recvandsend(void *_socket, void **recvbuf, int *recvsize, int *key, recv_callback_fn callback); + +/** + * @brief 鎺ュ彈娑堟伅锛屽苟鎶奵allback鍑芥暟杩斿洖鐨勬暟鎹彂閫佸洖瀵规柟锛屽湪鎸囧畾鐨勬椂闂村唴鍗充娇娌℃湁瀹屾垚涔熻繑鍥� + * + * @param recvbuf 鎺ュ彈鍒扮殑娑堟伅瀛樻斁鐨勭紦瀛樺湴鍧�锛岃buf浣跨敤瀹屾垚鍚庨渶瑕佹墜鍔ㄩ噴鏀� + * @param recvsize 鎺ュ彈鍒版秷鎭殑闀垮害 + * @param key 浠庤皝鍝噷鏀跺埌鐨勪俊鎭� + * @callback void (*recv_callback_fn)(void **sendbuf, int *sendsize) + * sendbuf 鍜� sendsize鏄痗allbak_fn鍥炶皟鍑芥暟鐨勮繑鍥炲��, 鍒嗗埆琛ㄧず杩斿洖鐨勬暟鎹紝鍜岃繑鍥炴暟鎹殑闀垮害銆� + * + * @param sec 绉� + * @param nsec 绾崇 + * + * @return 0鏄垚鍔燂紝 鍏朵粬鍊兼槸澶辫触鐨勯敊璇爜 + */ +int net_mod_socket_recvandsend_timeout(void *_socket, void **recvbuf, int *recvsize, int *key, recv_callback_fn callback, + int sec, int nsec ) ; + + +/** + * @brief 鎺ュ彈娑堟伅锛屽苟鎶奵allback鍑芥暟杩斿洖鐨勬暟鎹彂閫佸洖瀵规柟锛屾棤璁烘垚鍔熶笌鍚︾珛鍒昏繑鍥� + * + * @param recvbuf 鎺ュ彈鍒扮殑娑堟伅瀛樻斁鐨勭紦瀛樺湴鍧�锛岃buf浣跨敤瀹屾垚鍚庨渶瑕佹墜鍔ㄩ噴鏀� + * @param recvsize 鎺ュ彈鍒版秷鎭殑闀垮害 + * @param key 浠庤皝鍝噷鏀跺埌鐨勪俊鎭� + * @callback void (*recv_callback_fn)(void **sendbuf, int *sendsize) + * sendbuf 鍜� sendsize鏄痗allbak_fn鍥炶皟鍑芥暟鐨勮繑鍥炲��, 鍒嗗埆琛ㄧず杩斿洖鐨勬暟鎹紝鍜岃繑鍥炴暟鎹殑闀垮害銆� + * + * @return 0鏄垚鍔燂紝 鍏朵粬鍊兼槸澶辫触鐨勯敊璇爜 + */ +int net_mod_socket_recvandsend_nowait(void *_socket, void **recvbuf, int *recvsize, int *key, recv_callback_fn callback) ; + + + /** * @brief 璺ㄦ満鍣ㄥ彂閫佹秷鎭苟鎺ュ彈杩斿洖鐨勫簲绛旀秷鎭紝鐩村埌鍙戦�佸畬鎴愭墠杩斿洖 * @@ -134,7 +182,7 @@ * @return 鎴愬姛鍙戦�佺殑鑺傜偣鐨勪釜鏁� * */ -extern int net_mod_socket_sendandrecv(void *_sockt, net_node_t *node_arr, int arrlen, void *send_buf, int send_size, +int net_mod_socket_sendandrecv(void *_sockt, net_node_t *node_arr, int arrlen, void *send_buf, int send_size, net_mod_recv_msg_t ** recv_arr, int *recv_arr_size) ; @@ -176,17 +224,17 @@ - /** - * @brief 鍚憂ode_arr涓殑鎵�鏈夌綉缁滆妭鐐瑰彂甯冩秷鎭� - * - * @param node_arr 缃戠粶鑺傜偣缁�, @node_arr_len璇ユ暟缁勯暱搴� - * @param topic 涓婚锛� - * @param topic_size 璇ヤ富棰樼殑闀垮害 - * @param content 鍐呭锛� - * @param content_size 鍐呭闀垮害 - * - * @return 鎴愬姛鍙戝竷鐨勮妭鐐圭殑涓暟 - */ + /** + * @brief 鍚憂ode_arr涓殑鎵�鏈夌綉缁滆妭鐐瑰彂甯冩秷鎭� + * + * @param node_arr 缃戠粶鑺傜偣缁�, @node_arr_len璇ユ暟缁勯暱搴� + * @param topic 涓婚锛� + * @param topic_size 璇ヤ富棰樼殑闀垮害 + * @param content 鍐呭锛� + * @param content_size 鍐呭闀垮害 + * + * @return 鎴愬姛鍙戝竷鐨勮妭鐐圭殑涓暟 + */ int net_mod_socket_pub(void *_sockt, net_node_t *node_arr, int node_arr_len, char *topic, int topic_size, void *content, int content_size); -- Gitblit v1.8.0