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

虚拟机模块 更多...

#include <host.hpp>

Public 类型

using ptr = std::shared_ptr< VirtualHost >
 

Public 成员函数

 VirtualHost (const std::string hname, const std::string &basedir, const std::string &dbfile)
 虚拟机构造函数 恢复历史消息
 
bool declareExchange (const std::string &name, ExchangeType type, bool durable, bool auto_delete, const google::protobuf::Map< std::string, std::string > &args)
 声明交换机
 
void deleteExchange (const std::string &name)
 删除交换机
 
bool declareQueue (const std::string &qname, bool qdurable, bool qexclusive, bool qauto_delete, const google::protobuf::Map< std::string, std::string > &qargs)
 声明消息队列
 
void deleteQueue (const std::string &name)
 删除消息队列
 
bool bind (const std::string &ename, const std::string &qname, const std::string &key)
 添加绑定信息
 
void unbind (const std::string &ename, const std::string &qname)
 解除绑定信息
 
MsgQueueBindingMap exchangeBindings (const std::string &ename)
 获取交换机绑定信息
 
QueueMap allQueues ()
 获取所有队列
 
bool basicPublish (const std::string &qname, BasicProperties *bp, const std::string &body)
 向指定队列插入新消息
 
MessagePtr basicConsume (const std::string &qname)
 获取队头消息
 
void basicAck (const std::string &qname, const std::string &msg_id)
 应答消息
 
Exchange::ptr selectExchange (const std::string &ename)
 获取指定交换机句柄
 
void clear ()
 清理
 
bool existsExchange (const std::string &name)
 判断交换机是否存在
 
bool existsQueue (const std::string &name)
 判断队列是否存在
 
bool existsBinding (const std::string &ename, const std::string &qname)
 判断绑定信息是否存在
 

Private 属性

std::string _host_name
 
ExchangeManager::ptr _emp
 交换机管理指针
 
MsgQueueManager::ptr _mqmp
 消息队列管理指针
 
BindingManager::ptr _bmp
 绑定信息管理指针
 
MessageManager::ptr _mmp
 消息管理指针
 

详细描述

虚拟机模块

成员类型定义说明

◆ ptr

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

构造及析构函数说明

◆ VirtualHost()

XuMQ::VirtualHost::VirtualHost ( const std::string  hname,
const std::string &  basedir,
const std::string &  dbfile 
)
inline

虚拟机构造函数 恢复历史消息

参数
hname虚拟机名称
basedir基础目录
dbfile数据库目录

成员函数说明

◆ allQueues()

QueueMap XuMQ::VirtualHost::allQueues ( )
inline

获取所有队列

返回
消息队列映射表
参见
QueueMap

◆ basicAck()

void XuMQ::VirtualHost::basicAck ( const std::string &  qname,
const std::string &  msg_id 
)
inline

应答消息

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

◆ basicConsume()

MessagePtr XuMQ::VirtualHost::basicConsume ( const std::string &  qname)
inline

获取队头消息

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

◆ basicPublish()

bool XuMQ::VirtualHost::basicPublish ( const std::string &  qname,
BasicProperties bp,
const std::string &  body 
)
inline

向指定队列插入新消息

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

◆ bind()

bool XuMQ::VirtualHost::bind ( const std::string &  ename,
const std::string &  qname,
const std::string &  key 
)
inline

添加绑定信息

参数
ename交换机名称
qname消息队列名称
key绑定关键字
返回
添加成功则返回true 失败返回false
注解
当交换机和消息队列的持久化标志都为true时 绑定信息持久化标志为true才有意义

◆ clear()

void XuMQ::VirtualHost::clear ( )
inline

清理

◆ declareExchange()

bool XuMQ::VirtualHost::declareExchange ( const std::string &  name,
ExchangeType  type,
bool  durable,
bool  auto_delete,
const google::protobuf::Map< std::string, std::string > &  args 
)
inline

声明交换机

参数
name交换机名称
type交换机类型
durable数据持久化标志
auto_delete自动删除标志
args其他参数
返回
声明成功返回true 失败返回false

◆ declareQueue()

bool XuMQ::VirtualHost::declareQueue ( const std::string &  qname,
bool  qdurable,
bool  qexclusive,
bool  qauto_delete,
const google::protobuf::Map< std::string, std::string > &  qargs 
)
inline

声明消息队列

参数
qname消息队列名称
qdurable数据持久化标志
qexclusive独占标志
qauto_delete自动删除标志
qargs其他参数
返回
声明成功返回true 失败返回false

◆ deleteExchange()

void XuMQ::VirtualHost::deleteExchange ( const std::string &  name)
inline

删除交换机

参数
name交换机名称

◆ deleteQueue()

void XuMQ::VirtualHost::deleteQueue ( const std::string &  name)
inline

删除消息队列

参数
name消息队列名称

◆ exchangeBindings()

MsgQueueBindingMap XuMQ::VirtualHost::exchangeBindings ( const std::string &  ename)
inline

获取交换机绑定信息

参数
ename交换机名称
返回
消息队列绑定映射表
参见
MsgQueueBindingMap

◆ existsBinding()

bool XuMQ::VirtualHost::existsBinding ( const std::string &  ename,
const std::string &  qname 
)
inline

判断绑定信息是否存在

参数
ename交换机名称
qname队列名称
返回
存在返回true 不存在返回false

◆ existsExchange()

bool XuMQ::VirtualHost::existsExchange ( const std::string &  name)
inline

判断交换机是否存在

参数
name交换机名称
返回
存在返回true 不存在返回false

◆ existsQueue()

bool XuMQ::VirtualHost::existsQueue ( const std::string &  name)
inline

判断队列是否存在

参数
name队列名称
返回
存在返回true 不存在返回false

◆ selectExchange()

Exchange::ptr XuMQ::VirtualHost::selectExchange ( const std::string &  ename)
inline

获取指定交换机句柄

参数
ename交换机名称
返回
交换机句柄

◆ unbind()

void XuMQ::VirtualHost::unbind ( const std::string &  ename,
const std::string &  qname 
)
inline

解除绑定信息

参数
ename交换机名称
qname消息队列名称

类成员变量说明

◆ _bmp

BindingManager::ptr XuMQ::VirtualHost::_bmp
private

绑定信息管理指针

◆ _emp

ExchangeManager::ptr XuMQ::VirtualHost::_emp
private

交换机管理指针

◆ _host_name

std::string XuMQ::VirtualHost::_host_name
private

◆ _mmp

MessageManager::ptr XuMQ::VirtualHost::_mmp
private

消息管理指针

◆ _mqmp

MsgQueueManager::ptr XuMQ::VirtualHost::_mqmp
private

消息队列管理指针