From 758438289fc45829a8f6cef1b42afed0a1a8cb60 Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期三, 03 二月 2021 15:59:58 +0800
Subject: [PATCH] uuid msg

---
 src/socket/shm_mod_socket.cpp |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/socket/shm_mod_socket.cpp b/src/socket/shm_mod_socket.cpp
index 760c421..097c8fb 100644
--- a/src/socket/shm_mod_socket.cpp
+++ b/src/socket/shm_mod_socket.cpp
@@ -89,6 +89,19 @@
   logger->debug("ShmModSocket::sendandrecv : sendandrecv to %d failed %s",  send_key, bus_strerror(rv));
 	return rv;
 }
+
+
+int ShmModSocket::recvandsend(void **recvbuf, int *recvsize, int *key, recv_callback_fn callback,
+                    const struct timespec *timeout , int flag ) {
+  int rv = shm_recvandsend(shm_socket, recvbuf, recvsize, key, callback, timeout, flag);
+  if(rv == 0) {
+    logger->debug("ShmModSocket::shm_recvandsend: success. key = %d\n", *key);
+    return 0;
+  }
+
+  logger->debug("ShmModSocket::shm_recvandsend :  failed. %s", bus_strerror(rv));
+  return rv;
+}
  
 // // 瓒呮椂杩斿洖銆� @sec 绉� 锛� @nsec 绾崇
 // int ShmModSocket::sendandrecv_unsafe(const void *send_buf, const int send_size, const int send_key, 
@@ -102,7 +115,7 @@
  * @size 涓婚闀垮害
  * @key 鎬荤嚎绔彛
  */
-int  ShmModSocket::sub(char *topic, int topic_size, int key,  
+int  ShmModSocket::sub(const char *topic, int topic_size, int key,  
 	const struct timespec *timeout, int flags) {
 	int ret;
 	bus_head_t head = {};
@@ -133,7 +146,7 @@
  * @size 涓婚闀垮害
  * @key 鎬荤嚎绔彛
  */
-int  ShmModSocket::desub(char *topic, int topic_size, int key, const struct timespec *timeout, int flags) {
+int  ShmModSocket::desub(const char *topic, int topic_size, int key, const struct timespec *timeout, int flags) {
 	// char buf[8192];
 	int ret;
 	if(topic == NULL) {
@@ -171,7 +184,7 @@
  * @content 涓婚鍐呭
  * @key 鎬荤嚎绔彛
  */
-int  ShmModSocket::pub(char *topic, int topic_size, void *content, int content_size, int key, const struct timespec *timeout, int flags) {
+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 = {};
 	memcpy(head.action, "pub", sizeof(head.action));
@@ -204,7 +217,7 @@
 // =============================================================================
 
 int ShmModSocket::get_bus_sendbuf(bus_head_t &request_head, 
-  void *topic_buf, int topic_size, void *content_buf, int content_size, void **retbuf) {
+ const void *topic_buf, int topic_size, const void *content_buf, int content_size, void **retbuf) {
  
   int buf_size;
   char *buf;

--
Gitblit v1.8.0