From 900c0972923ac0eeac54425f128d38dffefd381b Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期一, 30 十一月 2020 12:06:41 +0800
Subject: [PATCH] sendandrecv改为线程安全的

---
 src/socket/net_mod_socket.h |   23 ++++++++++-------------
 1 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/src/socket/net_mod_socket.h b/src/socket/net_mod_socket.h
index d670731..df5aa7f 100644
--- a/src/socket/net_mod_socket.h
+++ b/src/socket/net_mod_socket.h
@@ -10,7 +10,9 @@
 #define PUT(p, val)  (*(uint32_t *)(p) = (val))
 
 
-#define ERROR_NET_MOD_SOCKET_ADDR_IN_USE 1  
+#define ERROR_NET_MOD_SOCKET_ADDR_IN_USE 1
+
+
 
 
 class NetModServerSocket;
@@ -61,17 +63,14 @@
     int nready;       /* Number of ready descriptors from select */
     int maxi;         /* Highwater index into client array */
     struct pollfd conns[OPEN_MAX];
-    // net_node_t *nodes[FD_SETSIZE];
-   // rio_t clientrio[FD_SETSIZE]; /* Set of active read buffers */
-    // std::map<int, net_node_t*> connfdNodeMap;
-    std::map<std::string, int> connectionMap;
+    // std::map<std::string, int> connectionMap;
   } ; 
 
   friend class NetModServerSocket;
 private:
    
   ShmModSocket shmModSocket;
-  pool req_resp_pool;
+  // pool req_resp_pool;
  
 
 
@@ -81,14 +80,16 @@
   static void * encode_response_head(net_mod_response_head_t & response);
   static net_mod_response_head_t  decode_response_head(void *_headbs);
 
-  void init_req_rep_req_resp_pool();
-  int connect( net_node_t*);
-  void close_connect(int connfd);
+  void init_conn_pool( pool& mpool);
+  int connect(pool& mpool, net_node_t* node);
+  void close_connect(pool& mpool , int connfd);
   int read_response(int clientfd, net_mod_recv_msg_t *recv_msg);
   int write_request(int clientfd, net_mod_request_head_t &request_head, void *send_buf, int send_size);
 
   int _sendandrecv_(net_node_t *node_arr, int node_arr_len, void *send_buf, int send_size, 
     net_mod_recv_msg_t ** recv_arr, int *recv_arr_size, int timeout);
+
+  
 
 public:
 	
@@ -144,10 +145,6 @@
     net_mod_recv_msg_t ** recv_arr, int *recv_arr_size);
 
  
-
-
-
-
   /**
    * 鍙戦�佷俊鎭�
    * @key 鍙戦�佺粰璋�

--
Gitblit v1.8.0