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

处理消息队列的文件存储和管理类 更多...

#include <message.hpp>

Public 成员函数

 MessageMapper (std::string &basedir, const std::string &qname)
 构造函数 创建必要的目录和数据文件
 
bool createMsgFile ()
 创建消息文件
 
void removeMsgFile ()
 移除消息文件 包括移除数据文件和临时文件
 
bool insert (const MessagePtr &msg)
 插入消息 将消息添加到数据文件中
 
bool remove (MessagePtr &msg)
 移除消息 将消息中的有效标记置为false 更新到数据文件中
 
std::list< MessagePtrgarbageCollection ()
 垃圾回收 加载所有有效消息 存储到临时文件后更新数据文件
 

Private 成员函数

bool insert (const std::string &filename, const MessagePtr &msg)
 插入消息到指定文件 负责数据文件和临时文件的写入工作
 
bool load (std::list< MessagePtr > &result)
 加载有效消息 从数据文件中读取所有消息并存为有效的消息对象
 

Private 属性

std::string _qname
 队列名称
 
std::string _datafile
 数据文件
 
std::string _tmpfile
 临时文件
 

详细描述

处理消息队列的文件存储和管理类

构造及析构函数说明

◆ MessageMapper()

XuMQ::MessageMapper::MessageMapper ( std::string &  basedir,
const std::string &  qname 
)
inline

构造函数 创建必要的目录和数据文件

参数
basedir基础目录
qname队列名称
函数调用图:

成员函数说明

◆ createMsgFile()

bool XuMQ::MessageMapper::createMsgFile ( )
inline

创建消息文件

返回
成功返回true 失败返回false
函数调用图:
这是这个函数的调用关系图:

◆ garbageCollection()

std::list< MessagePtr > XuMQ::MessageMapper::garbageCollection ( )
inline

垃圾回收 加载所有有效消息 存储到临时文件后更新数据文件

返回
有效消息列表
函数调用图:
这是这个函数的调用关系图:

◆ insert() [1/2]

bool XuMQ::MessageMapper::insert ( const MessagePtr msg)
inline

插入消息 将消息添加到数据文件中

参数
msg消息指针
返回
插入成功返回true 失败返回false
函数调用图:
这是这个函数的调用关系图:

◆ insert() [2/2]

bool XuMQ::MessageMapper::insert ( const std::string &  filename,
const MessagePtr msg 
)
inlineprivate

插入消息到指定文件 负责数据文件和临时文件的写入工作

参数
filename文件名
msg文件指针
返回
成功返回true 失败返回false
函数调用图:

◆ load()

bool XuMQ::MessageMapper::load ( std::list< MessagePtr > &  result)
inlineprivate

加载有效消息 从数据文件中读取所有消息并存为有效的消息对象

参数
result存储有效消息的列表
返回
成功返回true 失败返回false
函数调用图:
这是这个函数的调用关系图:

◆ remove()

bool XuMQ::MessageMapper::remove ( MessagePtr msg)
inline

移除消息 将消息中的有效标记置为false 更新到数据文件中

参数
msg消息指针
返回
移除成功返回true 失败返回false
函数调用图:
这是这个函数的调用关系图:

◆ removeMsgFile()

void XuMQ::MessageMapper::removeMsgFile ( )
inline

移除消息文件 包括移除数据文件和临时文件

函数调用图:
这是这个函数的调用关系图:

类成员变量说明

◆ _datafile

std::string XuMQ::MessageMapper::_datafile
private

数据文件

◆ _qname

std::string XuMQ::MessageMapper::_qname
private

队列名称

◆ _tmpfile

std::string XuMQ::MessageMapper::_tmpfile
private

临时文件