From aa2f3b2a9968bb4928463bdae05fb026d16b60bb Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期五, 04 十二月 2020 19:07:01 +0800
Subject: [PATCH] 固定bus key

---
 src/socket/shm_mod_socket.h |   83 +++++++++++++++++++++--------------------
 1 files changed, 42 insertions(+), 41 deletions(-)

diff --git a/src/socket/shm_mod_socket.h b/src/socket/shm_mod_socket.h
index b6dadee..bca34c7 100644
--- a/src/socket/shm_mod_socket.h
+++ b/src/socket/shm_mod_socket.h
@@ -7,6 +7,7 @@
 #include "hashtable.h"
 #include "sem_util.h"
 #include "logger_factory.h"
+#include "key_def.h"
 #include <set>
 
 #define ACTION_LIDENTIFIER "<**"
@@ -14,8 +15,7 @@
 #define TOPIC_LIDENTIFIER "{"
 #define TOPIC_RIDENTIFIER "}"
 
-static Logger *logger = LoggerFactory::getLogger();
-#define BUS_MAP_KEY 1
+
 //typedef std::basic_string<char, std::char_traits<char>, SHM_STL_Allocator<char> > SHMString;
 typedef std::set<int,  std::less<int>, SHM_STL_Allocator<int> > SHMKeySet;
 typedef std::map<SHMString, SHMKeySet *, std::less<SHMString>, SHM_STL_Allocator<std::pair<const SHMString, SHMKeySet *> > > SHMTopicSubMap;
@@ -41,17 +41,17 @@
 	std::set<int> *bus_set;
 
 private:
-	inline int _recvfrom_(void **buf, int *size, int *port,  struct timespec *timeout, int flags);
-	void _proxy_sub( char *topic, int port);
-	void _proxy_pub( char *topic, size_t head_len, void *buf, size_t size, int port);
+	inline int _recvfrom_(void **buf, int *size, int *key,  struct timespec *timeout, int flags);
+	void _proxy_sub( char *topic, int key);
+	void _proxy_pub( char *topic, size_t head_len, void *buf, size_t size, int key);
 	void *run_pubsub_proxy();
 	int parse_pubsub_topic(char *str, size_t size, char **_action, char **_topic, size_t *head_len );
-	int _sub_( char *topic, int size, int port, struct timespec *timeout, int flags);
-	int _pub_( char *topic, int topic_size, void *content, int content_size, int port, struct timespec *timeout, int flags);
+	int _sub_( char *topic, int size, int key, struct timespec *timeout, int flags);
+	int _pub_( char *topic, int topic_size, void *content, int content_size, int key, struct timespec *timeout, int flags);
 
-	void _proxy_desub( char *topic, int port);
-	void _proxy_desub_all(int port);
-	int  _desub_( char *topic, int size, int port, struct timespec *timeout, int flags);
+	void _proxy_desub( char *topic, int key);
+	void _proxy_desub_all(int key);
+	int  _desub_( char *topic, int size, int key, struct timespec *timeout, int flags);
 
 	static void foreach_subscripters(std::function<void(SHMKeySet *, int)>  cb);
 	static bool include_in_keys(int key, int keys[], size_t length);
@@ -66,48 +66,49 @@
 	 * 缁戝畾绔彛鍒皊ocket, 濡傛灉涓嶇粦瀹氬垯绯荤粺鑷姩鍒嗛厤涓�涓�
 	 * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
 	*/
-	int bind(int port);
+	int bind(int key);
 
 	/**
 	 * 寮哄埗缁戝畾绔彛鍒皊ocket, 閫傜敤浜庣▼搴忛潪姝e父鍏抽棴鐨勬儏鍐典笅锛岄噸鍚▼搴忕粦瀹氬師鏉ヨ繕娌¢噴鏀剧殑key
 	 * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
 	*/
-	int force_bind(int port);
+	int force_bind(int key);
 	/**
 	 * 鍙戦�佷俊鎭�
-	 * @port 鍙戦�佺粰璋�
+	 * @key 鍙戦�佺粰璋�
 	 * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
 	 */
-	int sendto(const void *buf, const int size, const int port);
+	int sendto(const void *buf, const int size, const int key);
 	// 鍙戦�佷俊鎭秴鏃惰繑鍥炪�� @sec 绉� 锛� @nsec 绾崇
-	int sendto_timeout(const void *buf, const int size, const int port, const struct timespec *timeout);
+	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 port);
+	int sendto_nowait(const void *buf, const int size, const int key);
 
 	/**
 	 * 鎺ユ敹淇℃伅
-	 * @port 浠庤皝鍝噷鏀跺埌鐨勪俊鎭�
+	 * @key 浠庤皝鍝噷鏀跺埌鐨勪俊鎭�
 	 * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
 	*/
-	int recvfrom(void **buf, int *size, int *port);
+	int recvfrom(void **buf, int *size, int *key);
 	// 鎺ュ彈淇℃伅瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
-	int recvfrom_timeout(void **buf, int *size, int *port,  struct timespec *timeout);
-	int recvfrom_nowait(void **buf, int *size, int *port);
+	int recvfrom_timeout(void **buf, int *size, int *key,  struct timespec *timeout);
+	int recvfrom_nowait(void **buf, int *size, int *key);
 
 	/**
 	 * 鍙戦�佽姹備俊鎭苟绛夊緟鎺ユ敹搴旂瓟
-	 * @port 鍙戦�佺粰璋�
+	 * @key 鍙戦�佺粰璋�
 	 * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
 	*/
-	int sendandrecv(const void *send_buf, const int send_size, const int port, 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) ;
 	// 瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
-	int sendandrecv_timeout(const void *send_buf, const int send_size, const int port, void **recv_buf, int *recv_size,  struct timespec *timeout) ;
-	int sendandrecv_nowait(const void *send_buf, const int send_size, const int port, void **recv_buf, int *recv_size) ;
+	int sendandrecv_timeout(const void *send_buf, const int send_size, const int key, void **recv_buf, int *recv_size,  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_unsafe(const void *send_buf, const int send_size, const int port, 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) ;
 	// 瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
-	int sendandrecv_unsafe_timeout(const void *send_buf, const int send_size, const int port, void **recv_buf, int *recv_size,  struct timespec *timeout) ;
-	int sendandrecv_unsafe_nowait(const void *send_buf, const int send_size, const int port, void **recv_buf, int *recv_size) ;
+	int sendandrecv_unsafe_timeout(const void *send_buf, const int send_size, const int key, void **recv_buf, int *recv_size,  struct timespec *timeout) ;
+	int sendandrecv_unsafe_nowait(const void *send_buf, const int send_size, const int key, void **recv_buf, int *recv_size) ;
 
 
 	/**
@@ -121,41 +122,41 @@
 	 * 璁㈤槄鎸囧畾涓婚
 	 * @topic 涓婚
 	 * @size 涓婚闀垮害
-	 * @port 鎬荤嚎绔彛
+	 * @key 鎬荤嚎绔彛
 	 */
-	int  sub(char *topic, int size, int port);
+	int  sub(char *topic, int size, int key);
 	// 瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
-	int  sub_timeout(char *topic, int size, int port,  struct timespec *timeout);
-	int  sub_nowait(char *topic, int size, int port);
+	int  sub_timeout(char *topic, int size, int key,  struct timespec *timeout);
+	int  sub_nowait(char *topic, int size, int key);
 
 
 	 /**
 	 * 鍙栨秷璁㈤槄鎸囧畾涓婚
  	 * @topic 涓婚,涓婚涓虹┖鏃跺彇娑堝叏閮ㄨ闃�
 	 * @size 涓婚闀垮害
-	 * @port 鎬荤嚎绔彛
+	 * @key 鎬荤嚎绔彛
 	 */
-	int desub( char *topic, int size, int port);
+	int desub( char *topic, int size, int key);
 	// 瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
-	int desub_timeout(char *topic, int size, int port, struct timespec *timeout);
-	int desub_nowait(char *topic, int size, int port) ;
+	int desub_timeout(char *topic, int size, int key, struct timespec *timeout);
+	int desub_nowait(char *topic, int size, int key) ;
 
 	/**
 	 * 鍙戝竷涓婚
 	 * @topic 涓婚
 	 * @content 涓婚鍐呭
-	 * @port 鎬荤嚎绔彛
+	 * @key 鎬荤嚎绔彛
 	 */
-	int  pub(char *topic, int topic_size, void *content, int content_size, int port);
+	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 port,  struct timespec *timeout);
-	int  pub_nowait(char *topic, int topic_size, void *content, int content_size, int port);
+	int  pub_timeout(char *topic, int topic_size, void *content, int content_size, int key,  struct timespec *timeout);
+	int  pub_nowait(char *topic, int topic_size, void *content, int content_size, int key);
 
 
 	/**
-	 * 鑾峰彇soket绔彛鍙�
+	 * 鑾峰彇soket key
 	 */
-	int get_port() ;
+	int get_key() ;
 
 
 };

--
Gitblit v1.8.0