lichao
2021-03-31 6eefba812ede29549af3633c490f2e85a4805524
src/shm_queue.cpp
@@ -17,20 +17,23 @@
 */
#include "shm_queue.h"
#include <boost/uuid/uuid_io.hpp>
#include <boost/uuid/uuid_generators.hpp>
#include "bh_util.h"
#include <boost/uuid/uuid_generators.hpp>
#include <boost/uuid/uuid_io.hpp>
namespace bhome_shm {
namespace bhome_shm
{
using namespace bhome_msg;   
using namespace boost::interprocess;
using namespace boost::uuids;
namespace {
namespace
{
std::string MsgQIdToName(const MQId& id) { return "shmq" + to_string(id); }
// MQId EmptyId() { return nil_uuid(); }
MQId NewId() { return random_generator()(); }
const int AdjustMQLength(const int len) {
const int AdjustMQLength(const int len)
{
    const int kMaxLength = 10000; 
    const int kDefaultLen = 12;
    if (len <= 0) {
@@ -42,17 +45,19 @@
    }
}
}
} // namespace
// 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)
{}
{
}
ShmMsgQueue::ShmMsgQueue(ShmType &segment, const int len):
ShmMsgQueue(NewId(), segment, len)
{}
{
}
ShmMsgQueue::~ShmMsgQueue()
{