Message-Queues beta 1.1
A Message-Queues based Cpp
 
载入中...
搜索中...
未找到
XuMQ::MessageManager类 参考

消息管理类 更多...

#include <message.hpp>

Public 类型

using ptr = std::shared_ptr< MessageManager >
 消息管理类指针
 

Public 成员函数

 MessageManager (const std::string &basedir)
 构造函数
 
void initQueueMessage (const std::string &qname)
 初始化推送消息队列管理类
 
void destroyQueueMessage (const std::string &qname)
 销毁推送消息队列管理类
 
bool insert (const std::string &qname, BasicProperties *bp, const std::string &body, bool mode)
 向指定队列插入新消息
 
MessagePtr front (const std::string &qname)
 获取队头消息
 
void ack (const std::string &qname, const std::string &msg_id)
 应答消息
 
size_t availableCount (const std::string &qname)
 获取可获取消息数量
 
size_t totalCount (const std::string &qname)
 获取总消息数量
 
size_t waitAckCount (const std::string &qname)
 获取待确认消息数量
 
size_t durableCount (const std::string &qname)
 获取持久化消息数量
 
void clear ()
 清空
 

Private 属性

std::mutex _mutex
 互斥锁
 
std::string _basedir
 基础目录
 
std::unordered_map< std::string, QueueMessage::ptr_queue_msgs
 消息队列
 

详细描述

消息管理类

成员类型定义说明

◆ ptr

using XuMQ::MessageManager::ptr = std::shared_ptr<MessageManager>

消息管理类指针

构造及析构函数说明

◆ MessageManager()

XuMQ::MessageManager::MessageManager ( const std::string &  basedir)
inline

构造函数

参数
basedir基础目录
qname消息队列名称

成员函数说明

◆ ack()

void XuMQ::MessageManager::ack ( const std::string &  qname,
const std::string &  msg_id 
)
inline

应答消息

参数
qname消息队列名称
msg_id消息id

◆ availableCount()

size_t XuMQ::MessageManager::availableCount ( const std::string &  qname)
inline

获取可获取消息数量

返回
可获取消息数量

◆ clear()

void XuMQ::MessageManager::clear ( )
inline

清空

◆ destroyQueueMessage()

void XuMQ::MessageManager::destroyQueueMessage ( const std::string &  qname)
inline

销毁推送消息队列管理类

参数
qname

◆ durableCount()

size_t XuMQ::MessageManager::durableCount ( const std::string &  qname)
inline

获取持久化消息数量

返回
持久化消息数量

◆ front()

MessagePtr XuMQ::MessageManager::front ( const std::string &  qname)
inline

获取队头消息

参数
qname消息队列名称
返回
消息指针

◆ initQueueMessage()

void XuMQ::MessageManager::initQueueMessage ( const std::string &  qname)
inline

初始化推送消息队列管理类

参数
qname消息队列名称

◆ insert()

bool XuMQ::MessageManager::insert ( const std::string &  qname,
BasicProperties bp,
const std::string &  body,
bool  mode 
)
inline

向指定队列插入新消息

参数
qname消息队列名称
bp消息属性
body消息主体
mode持久化标志
返回
插入成功返回true 失败返回false

◆ totalCount()

size_t XuMQ::MessageManager::totalCount ( const std::string &  qname)
inline

获取总消息数量

返回
总消息数量

◆ waitAckCount()

size_t XuMQ::MessageManager::waitAckCount ( const std::string &  qname)
inline

获取待确认消息数量

返回
待确认消息数量

类成员变量说明

◆ _basedir

std::string XuMQ::MessageManager::_basedir
private

基础目录

◆ _mutex

std::mutex XuMQ::MessageManager::_mutex
private

互斥锁

◆ _queue_msgs

std::unordered_map<std::string, QueueMessage::ptr> XuMQ::MessageManager::_queue_msgs
private

消息队列