From 578e15c276d72bfbdd707c6c948824daa43d3780 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期四, 18 一月 2024 14:18:35 +0800
Subject: [PATCH] less memory
---
src/net/net_mod_socket.cpp | 68 +++++++++++++++++++++++++--------
1 files changed, 51 insertions(+), 17 deletions(-)
diff --git a/src/net/net_mod_socket.cpp b/src/net/net_mod_socket.cpp
index ab065eb..d10fbdc 100644
--- a/src/net/net_mod_socket.cpp
+++ b/src/net/net_mod_socket.cpp
@@ -46,13 +46,25 @@
return shmModSocket.force_bind(key);
}
-int NetModSocket::bind_proc_id(char *buf, int len) {
- return shmModSocket.bind_proc_id(buf, len);
-}
-
int NetModSocket::reg(void *pData, int len, void **buf, int *size, const int timeout_ms, int flag) {
return shmModSocket.reg(pData, len, buf, size, timeout_ms, flag);
+}
+
+void NetModSocket::int_set(int data) {
+ int_val = data;
+}
+
+void NetModSocket::svr_set(int data) {
+ svr_val = data;
+}
+
+int NetModSocket::int_get(void) {
+ return int_val;
+}
+
+int NetModSocket::svr_get(void) {
+ return svr_val;
}
// int NetModSocket::sendandrecv(net_node_t *node_arr, int arrlen, void *send_buf, int send_size,
@@ -109,7 +121,6 @@
if (mpool == NULL)
{
/* If first call from this thread, allocate buffer for thread, and save its location */
- logger->debug("Create connPool");
mpool = new NetConnPool();
if (mpool == NULL) {
LoggerFactory::getLogger()->error(errno, "NetModSocket::_sendandrecv_ malloc");
@@ -329,6 +340,29 @@
}
+void NetModSocket::buf_data_set(std::string str, int val) {
+ recvbuf.insert({str, val});
+}
+
+int NetModSocket::buf_data_get(std::string str) {
+
+ int i;
+ int val = 0;
+ std::map<std::string, int>::iterator recvIter;
+
+ recvIter = recvbuf.find(str);
+ if(recvIter != recvbuf.end()) {
+
+ val = recvIter->second;
+
+ }
+
+ return val;
+}
+
+void NetModSocket::buf_data_del(std::string str) {
+ recvbuf.erase(str);
+}
void NetModSocket::free_recv_msg_arr(net_mod_recv_msg_t * arr, size_t size) {
@@ -493,20 +527,20 @@
* @key 鍙戦�佺粰璋�
* @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
*/
-int NetModSocket::sendto(const void *buf, const int size, const int key){
- return shmModSocket.sendto(buf, size, key);
+int NetModSocket::sendto(const void *buf, const int size, const int key, int reset, int data_set){
+ return shmModSocket.sendto(buf, size, key, 0, 0, reset, data_set);
}
// 鍙戦�佷俊鎭秴鏃惰繑鍥炪�� @sec 绉� 锛� @nsec 绾崇
-int NetModSocket::sendto_timeout(const void *buf, const int size, const int key, int sec, int nsec){
+int NetModSocket::sendto_timeout(const void *buf, const int size, const int key, int sec, int nsec, int reset, int data_set){
struct timespec timeout = {sec, nsec};
- return shmModSocket.sendto(buf, size, key, &timeout, BUS_TIMEOUT_FLAG);
+ return shmModSocket.sendto(buf, size, key, &timeout, BUS_TIMEOUT_FLAG, reset, data_set);
}
// 鍙戦�佷俊鎭珛鍒昏繑鍥炪��
-int NetModSocket::sendto_nowait(const void *buf, const int size, const int key){
- return shmModSocket.sendto(buf, size, key, NULL, BUS_NOWAIT_FLAG);
+int NetModSocket::sendto_nowait(const void *buf, const int size, const int key, int reset, int data_set){
+ return shmModSocket.sendto(buf, size, key, NULL, BUS_NOWAIT_FLAG, reset, data_set);
}
@@ -515,21 +549,21 @@
* @key 浠庤皝鍝噷鏀跺埌鐨勪俊鎭�
* @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜
*/
-int NetModSocket::recvfrom(void **buf, int *size, int *key) {
+int NetModSocket::recvfrom(void **buf, int *size, int *key, int reset, int data_set) {
- return shmModSocket.recvfrom(buf, size, key);
+ return shmModSocket.recvfrom(buf, size, key, 0, 0, reset, data_set);
}
// 鎺ュ彈淇℃伅瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
-int NetModSocket::recvfrom_timeout(void **buf, int *size, int *key, int sec, int nsec){
+int NetModSocket::recvfrom_timeout(void **buf, int *size, int *key, int sec, int nsec, int reset, int data_set){
struct timespec timeout = {sec, nsec};
- return shmModSocket.recvfrom(buf, size, key, &timeout, BUS_TIMEOUT_FLAG);
+ return shmModSocket.recvfrom(buf, size, key, &timeout, BUS_TIMEOUT_FLAG, reset, data_set);
}
-int NetModSocket::recvfrom_nowait(void **buf, int *size, int *key){
- return shmModSocket.recvfrom(buf, size, key, NULL, BUS_NOWAIT_FLAG);
+int NetModSocket::recvfrom_nowait(void **buf, int *size, int *key, int reset, int data_set){
+ return shmModSocket.recvfrom(buf, size, key, NULL, BUS_NOWAIT_FLAG, reset, data_set);
}
int NetModSocket::recvandsend(recvandsend_callback_fn callback,
--
Gitblit v1.8.0