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/socket/shm_mod_socket.cpp | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/socket/shm_mod_socket.cpp b/src/socket/shm_mod_socket.cpp
index 6139d34..ababb7d 100644
--- a/src/socket/shm_mod_socket.cpp
+++ b/src/socket/shm_mod_socket.cpp
@@ -69,6 +69,10 @@
memcpy(head.action, "atcsque", sizeof(head.action));
+ } else if (flag == PROC_REG_BUF) {
+
+ memcpy(head.action, "bufreg", sizeof(head.action));
+
} else {
return -1;
@@ -115,7 +119,7 @@
ts.tv_nsec = (timeout_ms - ts.tv_sec * 1000) * 1000 * 1000;
- if ((flag == PROC_REG) || (flag == PROC_UNREG) || (flag == PROC_REG_TCS)) {
+ if ((flag == PROC_REG) || (flag == PROC_UNREG) || (flag == PROC_REG_TCS) || (flag == PROC_REG_BUF)) {
ret = shm_sendto(shm_socket, buf_temp, buf_size, SHM_BUS_KEY, &ts, BUS_TIMEOUT_FLAG);
@@ -127,7 +131,7 @@
} else if (timeout_ms == 0) {
- if ((flag == PROC_REG) || (flag == PROC_UNREG) || (flag == PROC_REG_TCS)) {
+ if ((flag == PROC_REG) || (flag == PROC_UNREG) || (flag == PROC_REG_TCS) || (flag == PROC_REG_BUF)) {
ret = shm_sendto(shm_socket, buf_temp, buf_size, SHM_BUS_KEY, &ts, BUS_NOWAIT_FLAG);
@@ -139,7 +143,7 @@
} else {
- if ((flag == PROC_REG) || (flag == PROC_UNREG) || (flag == PROC_REG_TCS)) {
+ if ((flag == PROC_REG) || (flag == PROC_UNREG) || (flag == PROC_REG_TCS) || (flag == PROC_REG_BUF)) {
ret = shm_sendto(shm_socket, buf_temp, buf_size, SHM_BUS_KEY, &ts, -1);
@@ -165,7 +169,6 @@
int ShmModSocket::sendto(const void *buf, const int size, const int key, const struct timespec *timeout, int flag, int reset, int data_set) {
int rv = shm_sendto(shm_socket, buf, size, key, timeout, flag, reset, data_set);
if(rv == 0) {
- logger->debug("ShmModSocket::sendto: %d sendto %d success.\n", get_key(), key);
return 0;
}
@@ -183,7 +186,6 @@
int rv = shm_recvfrom(shm_socket, buf, size, key, timeout, flag, reset, data_set);
if(rv == 0) {
- logger->debug("ShmModSocket::recvfrom: %d recvfrom %d success.\n", get_key(), *key);
return 0;
}
@@ -202,7 +204,6 @@
int rv = shm_sendandrecv(shm_socket, send_buf, send_size, send_key, recv_buf, recv_size, timeout, flag);
if(rv == 0) {
- logger->debug("ShmModSocket::sendandrecv: sendandrecv to %d success.\n", send_key);
return 0;
}
@@ -300,6 +301,7 @@
int ShmModSocket::pub(const char *topic, int topic_size, const void *content, int content_size, int key, const struct timespec *timeout, int flags) {
int ret;
bus_head_t head = {};
+ topic = trim(const_cast<char *>(topic), 0);
memcpy(head.action, "pub", sizeof(head.action));
head.topic_size = topic_size = strlen(topic) + 1;
head.content_size = content_size;
--
Gitblit v1.8.0