From 491d98b3ba32cafed5682552bd870ca0ef93275c Mon Sep 17 00:00:00 2001
From: lichao <lichao@aiotlink.com>
Date: 星期二, 30 三月 2021 18:29:09 +0800
Subject: [PATCH] add ShmSocket as shm interface, add sub/pub.

---
 src/shm_queue.cpp |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/shm_queue.cpp b/src/shm_queue.cpp
index ffc7c21..421cebf 100644
--- a/src/shm_queue.cpp
+++ b/src/shm_queue.cpp
@@ -28,7 +28,7 @@
 
 namespace {
 std::string MsgQIdToName(const MQId& id) { return "shmq" + to_string(id); }
-MQId EmptyId() { return nil_uuid(); }
+// MQId EmptyId() { return nil_uuid(); }
 MQId NewId() { return random_generator()(); }
 const int AdjustMQLength(const int len) {
     const int kMaxLength = 10000; 
@@ -59,12 +59,18 @@
     Remove();
 }
 
-bool ShmMsgQueue::Send(const MQId &remote_id, const MsgI &msg, const int timeout_ms)
+bool ShmMsgQueue::Send(SharedMemory &shm, const MQId &remote_id, const MsgI &msg, const int timeout_ms)
 {
-    Queue *remote = find(MsgQIdToName(remote_id));
+    Queue *remote = Find(shm, MsgQIdToName(remote_id));
     return remote && remote->Write(msg, timeout_ms, [](const MsgI&msg){msg.AddRef();});
 }
 
+// bool ShmMsgQueue::Send(const MQId &remote_id, const MsgI &msg, const int timeout_ms)
+// {
+//     Queue *remote = Find(MsgQIdToName(remote_id));
+//     return remote && remote->Write(msg, timeout_ms, [](const MsgI&msg){msg.AddRef();});
+// }
+
 bool ShmMsgQueue::Send(const MQId &remote_id, const BHMsg &data, const int timeout_ms)
 {
     MsgI msg;

--
Gitblit v1.8.0