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