lichao
2021-04-26 5bb28835d06e27dbd960916c9fb11a555fc5a9bc
src/shm_queue.cpp
@@ -55,13 +55,19 @@
}
// ShmMsgQueue memory usage: (320 + 16*length) bytes, length >= 2
ShmMsgQueue::ShmMsgQueue(const MQId id, ShmType &segment, const int len) :
    Super(segment, MsgQIdToName(id), AdjustMQLength(len), segment.get_segment_manager()),
    id_(id)
    id_(id),
    queue_(segment, MsgQIdToName(id_), AdjustMQLength(len), segment.get_segment_manager())
{
}
ShmMsgQueue::ShmMsgQueue(ShmType &segment, const int len) :
    ShmMsgQueue(NewId(), segment, len) {}
    id_(NewId()),
    queue_(segment, true, MsgQIdToName(id_), AdjustMQLength(len), segment.get_segment_manager())
{
   if (!queue_.IsOk()) {
      throw("error create msgq " + std::to_string(id_));
   }
}
ShmMsgQueue::~ShmMsgQueue() {}
@@ -74,12 +80,12 @@
         msg.Release();
      }
   }
   return Super::Remove(shm, MsgQIdToName(id));
   return Shmq::Remove(shm, MsgQIdToName(id));
}
ShmMsgQueue::Queue *ShmMsgQueue::Find(SharedMemory &shm, const MQId remote_id)
{
   return Super::Find(shm, MsgQIdToName(remote_id));
   return Shmq::Find(shm, MsgQIdToName(remote_id));
}
bool ShmMsgQueue::TrySend(SharedMemory &shm, const MQId remote_id, const MsgI &msg, OnSend const &onsend)