lichao
2021-04-09 4e5cb7960ce4e7e66d5190be67426aeca8b55c3d
src/shm_queue.h
@@ -129,32 +129,16 @@
   ShmMsgQueue(const MQId &id, ShmType &segment, const int len);
   ShmMsgQueue(ShmType &segment, const int len);
   ~ShmMsgQueue();
   static bool Remove(SharedMemory &shm, const MQId &id);
   const MQId &Id() const { return id_; }
   bool Recv(BHMsg &msg, const int timeout_ms);
   // bool Recv(MsgI &msg, BHMsgHead &head, const int timeout_ms);
   bool Recv(MsgI &msg, const int timeout_ms) { return Read(msg, 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);
   template <class... Extra>
   bool Send(const MQId &remote_id, const MsgI &msg, const int timeout_ms, Extra const &...extra)
   {
      return Send(shm(), remote_id, msg, timeout_ms, extra...);
   }
   template <class... Extra>
   bool Send(const MQId &remote_id, const BHMsg &data, const int timeout_ms, Extra const &...extra)
   {
      MsgI msg;
      if (msg.Make(shm(), data)) {
         if (Send(shm(), remote_id, msg, timeout_ms, extra...)) {
            return true;
         } else {
            msg.Release(shm());
         }
      }
      return false;
   }
   template <class... Rest>
   bool Send(const MQId &remote_id, Rest const &...rest) { return Send(shm(), remote_id, rest...); }
   size_t Pending() const { return data()->size(); }
};