From 14c345b38d57fd814f217eb8465963a08ca79f7e Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期五, 05 二月 2021 17:41:09 +0800
Subject: [PATCH] update

---
 src/net/net_mod_socket_wrapper.h |   85 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 72 insertions(+), 13 deletions(-)

diff --git a/src/net/net_mod_socket_wrapper.h b/src/net/net_mod_socket_wrapper.h
index 171a3a8..e29fe5b 100644
--- a/src/net/net_mod_socket_wrapper.h
+++ b/src/net/net_mod_socket_wrapper.h
@@ -18,6 +18,7 @@
 #endif
 
  
+typedef void (*recvandsend_callback_wrapper_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data);
 
 
 
@@ -28,12 +29,16 @@
  */
 void * net_mod_socket_open();
 
+
 /**
  * @brief 鍏抽棴 net_mod_socket
  */
 void net_mod_socket_close(void *_sockt);
 
-
+/**
+ * @brief 鍋滄 net_mod_socket
+ */
+int net_mod_socket_stop(void *_sockt);
 
 /**
  * @brief 缁戝畾绔彛鍒皊ocket, 濡傛灉涓嶇粦瀹氬垯绯荤粺鑷姩鍒嗛厤涓�涓�
@@ -95,6 +100,7 @@
  * @return 0鏄垚鍔燂紝 鍏朵粬鍊兼槸澶辫触鐨勯敊璇爜
  */
 int net_mod_socket_recvfrom(void *_socket, void **buf, int *size, int *key);
+
 /**
  * @brief 绛夊緟鎺ユ敹淇℃伅锛屽湪鎸囧畾鐨勬椂闂村唴鍗充娇娌℃湁鎺ュ彈鍒版秷鎭篃瑕佽繑鍥�
  *
@@ -119,6 +125,9 @@
  */
 int net_mod_socket_recvfrom_nowait(void *_socket, void **buf, int *size, int *key);
 
+
+
+
 /**
  * @brief 璺ㄦ満鍣ㄥ彂閫佹秷鎭苟鎺ュ彈杩斿洖鐨勫簲绛旀秷鎭紝鐩村埌鍙戦�佸畬鎴愭墠杩斿洖
  *
@@ -133,7 +142,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) ;
  
 
@@ -156,6 +165,56 @@
   net_mod_recv_msg_t ** recv_arr, int *recv_arr_size, int timeout);
 
 
+
+
+/**
+ * @brief 鎺ュ彈娑堟伅锛屽苟鎶奵allback鍑芥暟杩斿洖鐨勬暟鎹彂閫佸洖瀵规柟锛屼竴鐩寸瓑寰呭畬鎴�
+ *
+ * @callback  void (*recvandsend_callback_wrapper_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data)
+ *                  @recvbuf 鏀跺埌鐨勬暟鎹�, 璇ecvbuf浣跨敤瀹屾垚鍚庨渶瑕佹墜鍔ㄩ噴鏀�
+ *                  @recvsize 鏀跺埌鐨勬暟鎹殑澶у皬
+ *                  @key 鎺ュ彈鏁版嵁骞跺彂閫佹暟鎹殑瀵硅薄
+ *                  @sendbuf 瀛樺偍杩斿洖鍊肩殑鍦板潃锛岃〃绀鸿繑鍥炵殑鏁版嵁
+ *                  @sendsize 瀛樺偍杩斿洖鍊肩殑鍦板潃锛� 杩斿洖鏁版嵁鐨勯暱搴�
+ *
+ * @return 0鏄垚鍔燂紝 鍏朵粬鍊兼槸澶辫触鐨勯敊璇爜
+ */
+int net_mod_socket_recvandsend(void *_socket,  recvandsend_callback_wrapper_fn callback, void * user_data);
+
+/**
+ * @brief 鎺ュ彈娑堟伅锛屽苟鎶奵allback鍑芥暟杩斿洖鐨勬暟鎹彂閫佸洖瀵规柟锛屽湪鎸囧畾鐨勬椂闂村唴鍗充娇娌℃湁瀹屾垚涔熻繑鍥�
+ *
+ * @callback  void (*recvandsend_callback_wrapper_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data)
+ *                  @recvbuf 鏀跺埌鐨勬暟鎹�, 璇ecvbuf浣跨敤瀹屾垚鍚庨渶瑕佹墜鍔ㄩ噴鏀�
+ *                  @recvsize 鏀跺埌鐨勬暟鎹殑澶у皬
+ *                  @key 鎺ュ彈鏁版嵁骞跺彂閫佹暟鎹殑瀵硅薄
+ *                  @sendbuf 瀛樺偍杩斿洖鍊肩殑鍦板潃锛岃〃绀鸿繑鍥炵殑鏁版嵁
+ *                  @sendsize 瀛樺偍杩斿洖鍊肩殑鍦板潃锛� 杩斿洖鏁版嵁鐨勯暱搴�
+ *
+ * @param sec 绉�
+ * @param nsec 绾崇
+ *
+ * @return 0鏄垚鍔燂紝 鍏朵粬鍊兼槸澶辫触鐨勯敊璇爜
+ */
+int net_mod_socket_recvandsend_timeout(void *_socket, recvandsend_callback_wrapper_fn callback,
+                                       int sec, int nsec, void * user_data ) ;
+
+
+/**
+ * @brief 鎺ュ彈娑堟伅锛屽苟鎶奵allback鍑芥暟杩斿洖鐨勬暟鎹彂閫佸洖瀵规柟锛屾棤璁烘垚鍔熶笌鍚︾珛鍒昏繑鍥�
+ *
+ * @callback  void (*recvandsend_callback_wrapper_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data)
+ *                  @recvbuf 鏀跺埌鐨勬暟鎹�, 璇ecvbuf浣跨敤瀹屾垚鍚庨渶瑕佹墜鍔ㄩ噴鏀�
+ *                  @recvsize 鏀跺埌鐨勬暟鎹殑澶у皬
+ *                  @key 鎺ュ彈鏁版嵁骞跺彂閫佹暟鎹殑瀵硅薄
+ *                  @sendbuf 瀛樺偍杩斿洖鍊肩殑鍦板潃锛岃〃绀鸿繑鍥炵殑鏁版嵁
+ *                  @sendsize 瀛樺偍杩斿洖鍊肩殑鍦板潃锛� 杩斿洖鏁版嵁鐨勯暱搴�
+ *
+ * @return 0鏄垚鍔燂紝 鍏朵粬鍊兼槸澶辫触鐨勯敊璇爜
+ */
+int net_mod_socket_recvandsend_nowait(void *_socket, recvandsend_callback_wrapper_fn callback, void * user_data) ;
+
+
 /**
  * @brief 璺ㄦ満鍣ㄥ彂閫佹秷鎭苟鎺ュ彈杩斿洖鐨勫簲绛旀秷鎭紝涓嶇鏄惁鍙戦�佸畬鎴愮珛鍒昏繑鍥�
  *
@@ -175,17 +234,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