From 5410446ade40493d17f7e2d7f0d687b0998acc6a Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期三, 27 一月 2021 11:56:54 +0800
Subject: [PATCH] timeout wait 合一

---
 src/socket/shm_mod_socket.h |   52 +++++++++++++++++++---------------------------------
 1 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/src/socket/shm_mod_socket.h b/src/socket/shm_mod_socket.h
index 79b3247..f5441ce 100644
--- a/src/socket/shm_mod_socket.h
+++ b/src/socket/shm_mod_socket.h
@@ -31,11 +31,7 @@
 
 private:
 	 
-	int _sub_( char *topic, int size, int key, const struct timespec *timeouts,  int flags);
-	int _pub_( char *topic, int topic_size, void *content, int content_size, int key, const struct timespec *timeouts,  int flags);
-
-	int  _desub_( char *topic, int size, int key, const struct timespec *timeouts, int flags);
-
+	 
 
 	static int get_bus_sendbuf(bus_head_t &request_head, void *topic_buf, int topic_size, void *content_buf, int content_size, void **retbuf);
 
@@ -65,50 +61,44 @@
 	/**
 	 * 鍙戦�佷俊鎭�
 	 * @key 鍙戦�佺粰璋�
+	 * @flag BUS_TIMEOUT_FLAG  BUS_NOWAIT_FLAG
 	 * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
 	 */
-	int sendto(const void *buf, const int size, const int key);
-	// 鍙戦�佷俊鎭秴鏃惰繑鍥炪�� @sec 绉� 锛� @nsec 绾崇
-	int sendto_timeout(const void *buf, const int size, const int key, const struct timespec *timeout);
-	// 鍙戦�佷俊鎭珛鍒昏繑鍥炪��
-	int sendto_nowait(const void *buf, const int size, const int key);
+ 
+	int sendto(const void *buf, const int size, const int key, const struct timespec *timeout = NULL, int flag = 0);
+ 
 
 	/**
 	 * 鎺ユ敹淇℃伅
 	 * @key 浠庤皝鍝噷鏀跺埌鐨勪俊鎭�
 	 * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
 	*/
-	int recvfrom(void **buf, int *size, int *key);
-	// 鎺ュ彈淇℃伅瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
-	int recvfrom_timeout(void **buf, int *size, int *key,  const struct timespec *timeout);
-	int recvfrom_nowait(void **buf, int *size, int *key);
+ 
+	int recvfrom(void **buf, int *size, int *key,  const struct timespec *timeout = NULL, int flag = 0);
 
 	/**
 	 * 鍙戦�佽姹備俊鎭苟绛夊緟鎺ユ敹搴旂瓟
 	 * @key 鍙戦�佺粰璋�
+	 * @flag BUS_TIMEOUT_FLAG  BUS_NOWAIT_FLAG
 	 * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
 	*/
-	int sendandrecv(const void *send_buf, const int send_size, const int key, void **recv_buf, int *recv_size) ;
-	// 瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
-	int sendandrecv_timeout(const void *send_buf, const int send_size, const int key, void **recv_buf, int *recv_size, const struct timespec *timeout) ;
-	int sendandrecv_nowait(const void *send_buf, const int send_size, const int key, void **recv_buf, int *recv_size) ;
+ 
+	int sendandrecv(const void *send_buf, const int send_size, const int key, void **recv_buf, int *recv_size,
+	 const struct timespec *timeout = NULL, int flag = 0);
 
 
-	int sendandrecv_unsafe(const void *send_buf, const int send_size, const int key, void **recv_buf, int *recv_size) ;
 	// 瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
-	int sendandrecv_unsafe_timeout(const void *send_buf, const int send_size, const int key, void **recv_buf, int *recv_size, const  struct timespec *timeout) ;
-	int sendandrecv_unsafe_nowait(const void *send_buf, const int send_size, const int key, void **recv_buf, int *recv_size) ;
+	int sendandrecv_unsafe(const void *send_buf, const int send_size, const int key, void **recv_buf, int *recv_size,
+	 const  struct timespec *timeout = NULL, int flag = 0) ;
 
 	/**
 	 * 璁㈤槄鎸囧畾涓婚
 	 * @topic 涓婚
 	 * @size 涓婚闀垮害
 	 * @key 鎬荤嚎绔彛
+	 * @flag BUS_TIMEOUT_FLAG  BUS_NOWAIT_FLAG
 	 */
-	int  sub(char *topic, int size, int key);
-	// 瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
-	int  sub_timeout(char *topic, int size, int key,  const struct timespec *timeout);
-	int  sub_nowait(char *topic, int size, int key);
+	int  sub(char *topic, int size, int key,  const struct timespec *timeout = NULL, int flag = 0);
 
 
 	 /**
@@ -116,22 +106,18 @@
  	 * @topic 涓婚,涓婚涓虹┖鏃跺彇娑堝叏閮ㄨ闃�
 	 * @size 涓婚闀垮害
 	 * @key 鎬荤嚎绔彛
+	 * @flag BUS_TIMEOUT_FLAG  BUS_NOWAIT_FLAG
 	 */
-	int desub( char *topic, int size, int key);
-	// 瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
-	int desub_timeout(char *topic, int size, int key, const struct timespec *timeout);
-	int desub_nowait(char *topic, int size, int key) ;
+	int desub(char *topic, int size, int key, const struct timespec *timeout = NULL, int flag = 0);
 
 	/**
 	 * 鍙戝竷涓婚
 	 * @topic 涓婚
 	 * @content 涓婚鍐呭
 	 * @key 鎬荤嚎绔彛
+	 * @flag BUS_TIMEOUT_FLAG  BUS_NOWAIT_FLAG
 	 */
-	int  pub(char *topic, int topic_size, void *content, int content_size, int key);
-	//  瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
-	int  pub_timeout(char *topic, int topic_size, void *content, int content_size, int key, const  struct timespec *timeout);
-	int  pub_nowait(char *topic, int topic_size, void *content, int content_size, int key);
+	int  pub(char *topic, int topic_size, void *content, int content_size, int key, const  struct timespec *timeout = NULL, int flag = 0);
 
 
 	/**

--
Gitblit v1.8.0