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