lichao
2021-04-01 b55ffe89f4b237be5f79232cfddfe22bfdb87c64
src/shm_queue.h
@@ -118,6 +118,7 @@
{
   typedef ShmObject<SharedQueue<MsgI>> Super;
   typedef Super::Data Queue;
   typedef std::function<void()> OnSend;
   bool Write(const MsgI &buf, const int timeout_ms) { return data()->Write(buf, timeout_ms); }
   bool Read(MsgI &buf, const int timeout_ms) { return data()->Read(buf, timeout_ms); }
   MQId id_;
@@ -132,12 +133,25 @@
   bool Recv(BHMsg &msg, const int timeout_ms);
   bool Recv(MsgI &msg, const int timeout_ms) { return Read(msg, timeout_ms); }
   bool Send(const MQId &remote_id, const BHMsg &msg, const int timeout_ms);
   static bool Send(SharedMemory &shm, const MQId &remote_id, const MsgI &msg, const int timeout_ms);
   static bool Send(SharedMemory &shm, const MQId &remote_id, const MsgI &msg, const int timeout_ms, OnSend const &onsend);
   static bool Send(SharedMemory &shm, const MQId &remote_id, const MsgI &msg, const int timeout_ms)
   {
      return Send(shm, remote_id, msg, timeout_ms, []() {});
   }
   bool Send(const MQId &remote_id, const BHMsg &msg, const int timeout_ms, OnSend const &onsend);
   bool Send(const MQId &remote_id, const BHMsg &msg, const int timeout_ms)
   {
      return Send(remote_id, msg, timeout_ms, []() {});
   }
   bool Send(const MQId &remote_id, const MsgI &msg, const int timeout_ms, OnSend const &onsend)
   {
      return Send(shm(), remote_id, msg, timeout_ms, onsend);
   }
   bool Send(const MQId &remote_id, const MsgI &msg, const int timeout_ms)
   {
      return Send(shm(), remote_id, msg, timeout_ms);
   }
   size_t Pending() const { return data()->size(); }
};
} // namespace bhome_shm