From 48ae739d196e8a1ad681e5a54ad992302119bd83 Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期六, 25 七月 2020 16:37:36 +0800
Subject: [PATCH] update
---
demo/dgram_mod_req_rep.c | 4 +-
/dev/null | 0
src/queue/include/shm_queue.h | 4 +-
test_socket/dgram_mod_bus.c | 2
src/socket/dgram_mod_socket.c | 3 -
test_socket/dgram_mod_req_rep.c | 8 ++--
src/socket/include/dgram_mod_socket.h | 59 +++++++++++++++++++++++------
test_socket/Makefile | 2
src/socket/include/mod_socket.h | 3 +
9 files changed, 60 insertions(+), 25 deletions(-)
diff --git a/demo/dgram_mod_req_rep.c b/demo/dgram_mod_req_rep.c
index 01ba750..e269b4f 100644
--- a/demo/dgram_mod_req_rep.c
+++ b/demo/dgram_mod_req_rep.c
@@ -6,7 +6,7 @@
#include "usg_common.h"
void server(int port) {
- void *socket = dgram_mod_open_socket(REQ_REP);
+ void *socket = dgram_mod_open_socket();
dgram_mod_bind(socket, port);
int size;
void *recvbuf;
@@ -23,7 +23,7 @@
}
void client(int port, char *sendbuf) {
- void *socket = dgram_mod_open_socket(REQ_REP);
+ void *socket = dgram_mod_open_socket();
int size;
void *recvbuf;
dgram_mod_sendandrecv(socket, sendbuf, strlen(sendbuf) + 1, port, &recvbuf, &size);
diff --git a/src/libshm_queue.a b/src/libshm_queue.a
deleted file mode 100644
index 685264f..0000000
--- a/src/libshm_queue.a
+++ /dev/null
Binary files differ
diff --git a/src/queue/include/shm_queue.h b/src/queue/include/shm_queue.h
index 91e9530..0d8bbaf 100644
--- a/src/queue/include/shm_queue.h
+++ b/src/queue/include/shm_queue.h
@@ -99,12 +99,12 @@
{
SemUtil::dec( queue->mutex);
queue->reference--;
- LoggerFactory::getLogger().debug("SHMQueue destructor reference===%d", queue->reference.load());
+//LoggerFactory::getLogger().debug("SHMQueue destructor reference===%d", queue->reference.load());
if(queue->reference.load() == 0) {
delete queue;
hashtable_t *hashtable = mm_get_hashtable();
hashtable_remove(hashtable, KEY);
-printf("SHMQueue destructor delete queue\n");
+// LoggerFactory::getLogger().debug("SHMQueue destructor delete queue\n");
} else {
SemUtil::inc(queue->mutex);
}
diff --git a/src/socket/dgram_mod_socket.c b/src/socket/dgram_mod_socket.c
index 4856204..84976b6 100644
--- a/src/socket/dgram_mod_socket.c
+++ b/src/socket/dgram_mod_socket.c
@@ -17,7 +17,6 @@
static Logger logger = LoggerFactory::getLogger();
typedef struct dgram_mod_socket_t {
- socket_mod_t mod;
shm_socket_t *shm_socket;
// pthread_t recv_thread;
// <涓婚锛� 璁㈤槄鑰�>
@@ -85,7 +84,7 @@
-int dgram_mod_get_socket_port(void * _socket) {
+int dgram_mod_get_port(void * _socket) {
dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket;
return socket->shm_socket->port;
}
diff --git a/src/socket/include/dgram_mod_socket.h b/src/socket/include/dgram_mod_socket.h
index 5e6c424..29e16eb 100644
--- a/src/socket/include/dgram_mod_socket.h
+++ b/src/socket/include/dgram_mod_socket.h
@@ -7,41 +7,76 @@
#endif
-enum socket_mod_t
-{
- PULL_PUSH = 1,
- REQ_REP = 2,
- PAIR = 3,
- PUB_SUB = 4,
- SURVEY = 5,
- BUS = 6
-
-};
-
+/**
+ * 鍒涘缓socket
+ * @return socket鍦板潃
+*/
void *dgram_mod_open_socket();
+/**
+ * 鍏抽棴socket
+ * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
+*/
int dgram_mod_close_socket(void * _socket);
+/**
+ * 缁戝畾绔彛鍒皊ocket, 濡傛灉涓嶇粦瀹氬垯绯荤粺鑷姩鍒嗛厤涓�涓�
+ * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
+*/
int dgram_mod_bind(void * _socket, int port);
+/**
+ * 鍙戦�佷俊鎭�
+ * @port 鍙戦�佺粰璋�
+ * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
+ */
int dgram_mod_sendto(void *_socket, const void *buf, const int size, const int port);
+
+/**
+ * 鎺ユ敹淇℃伅
+ * @port 浠庤皝鍝噷鏀跺埌鐨勪俊鎭�
+ * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
+*/
int dgram_mod_recvfrom(void *_socket, void **buf, int *size, int *port);
+/**
+ * 鍙戦�佽姹備俊鎭苟绛夊緟鎺ユ敹搴旂瓟
+ * @port 鍙戦�佺粰璋�
+ * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
+*/
int dgram_mod_sendandrecv(void * _socket, const void *send_buf, const int send_size, const int port, void **recv_buf, int *recv_size) ;
-int dgram_mod_get_socket_port(void * _socket) ;
+/**
+ * 鑾峰彇soket绔彛鍙�
+ */
+int dgram_mod_get_port(void * _socket) ;
+
+/**
+ * 閲婃斁瀛樺偍鎺ユ敹淇℃伅鐨刡uf
+ */
void dgram_mod_free(void *buf) ;
+/**
+ * 鍚姩bus
+ *
+ * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
+*/
int start_bus(void * _socket);
/**
+ * 璁㈤槄鎸囧畾涓婚
+ * @topic 涓婚
+ * @size 涓婚闀垮害
* @port 鎬荤嚎绔彛
*/
int sub(void * _socket, void *topic, int size, int port);
/**
+ * 鍙戝竷涓婚
+ * @topic 涓婚
+ * @content 涓婚鍐呭
* @port 鎬荤嚎绔彛
*/
int pub(void * _socket, void *topic, int topic_size, void *content, int content_size, int port);
diff --git a/src/socket/include/mod_socket.h b/src/socket/include/mod_socket.h
index 21498ee..2fd44cc 100644
--- a/src/socket/include/mod_socket.h
+++ b/src/socket/include/mod_socket.h
@@ -25,6 +25,7 @@
/**
* 鍏抽棴socket
+ * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
*/
int mod_close_socket(void * _socket);
@@ -59,7 +60,7 @@
int mod_recv(void * _socket, void **buf, int *size) ;
/**
- * 閲婃斁鎺ユ敹淇℃伅鐨刡uf
+ * 閲婃斁瀛樺偍鎺ユ敹淇℃伅鐨刡uf
*/
void mod_free(void *buf);
diff --git a/test_socket/Makefile b/test_socket/Makefile
index ae1485e..0c155b1 100644
--- a/test_socket/Makefile
+++ b/test_socket/Makefile
@@ -14,7 +14,7 @@
include $(ROOT)/Make.defines.$(PLATFORM)
-PROGS = dgram_mod_bus dgram_mod_survey
+PROGS = dgram_mod_bus dgram_mod_survey dgram_mod_req_rep
build: $(PROGS)
diff --git a/test_socket/dgram_mod_bus b/test_socket/dgram_mod_bus
deleted file mode 100755
index 34cfc06..0000000
--- a/test_socket/dgram_mod_bus
+++ /dev/null
Binary files differ
diff --git a/test_socket/dgram_mod_bus.c b/test_socket/dgram_mod_bus.c
index 0c58bb4..d51caf0 100644
--- a/test_socket/dgram_mod_bus.c
+++ b/test_socket/dgram_mod_bus.c
@@ -58,7 +58,7 @@
}
}
- printf("(%d) quit\n", dgram_mod_get_socket_port(socket));
+ printf("(%d) quit\n", dgram_mod_get_port(socket));
dgram_mod_close_socket(socket);
}
diff --git a/test_socket/dgram_mod_req_rep.c b/test_socket/dgram_mod_req_rep.c
index 119b497..b5b4bef 100644
--- a/test_socket/dgram_mod_req_rep.c
+++ b/test_socket/dgram_mod_req_rep.c
@@ -44,7 +44,7 @@
}
void server(int port) {
- void *socket = dgram_mod_open_socket(REQ_REP);
+ void *socket = dgram_mod_open_socket();
dgram_mod_bind(socket, port);
initThreadPool(socket);
@@ -58,7 +58,7 @@
}
void client(int port) {
- void *socket = dgram_mod_open_socket(REQ_REP);
+ void *socket = dgram_mod_open_socket();
int size;
void *recvbuf;
char sendbuf[512];
@@ -80,10 +80,10 @@
char sendbuf[512];
int scale = 100000;
int i;
- void *socket = dgram_mod_open_socket(REQ_REP);
+ void *socket = dgram_mod_open_socket();
char filename[512];
- sprintf(filename, "test%d.txt", targ->id);
+ sprintf(filename, "test%d.tmp", targ->id);
FILE *fp = NULL;
fp = fopen(filename, "w+");
diff --git a/test_socket/dgram_mod_survey b/test_socket/dgram_mod_survey
deleted file mode 100755
index eacb2c7..0000000
--- a/test_socket/dgram_mod_survey
+++ /dev/null
Binary files differ
--
Gitblit v1.8.0