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

绑定信息内存管理类 更多...

#include <binding.hpp>

XuMQ::BindingManager 的协作图:

Public 类型

using ptr = std::shared_ptr< BindingManager >
 绑定信息内存管理类指针
 

Public 成员函数

 BindingManager (const std::string &dbfile)
 绑定信息数据内存管理类 构造函数 从数据库中恢复数据
 
bool bind (const std::string &ename, const std::string &qname, const std::string &key, bool durable)
 添加绑定信息
 
void unbind (const std::string &ename, const std::string &qname)
 解除绑定信息
 
void removeExchangeBindings (const std::string &ename)
 移除指定交换机的所有绑定信息
 
void removeMsgQueueBindings (const std::string &qname)
 移除指定消息队列的所有绑定信息
 
MsgQueueBindingMap getExchangeBindings (const std::string &ename)
 获取指定交换机的绑定信息
 
Binding::ptr getBinding (const std::string &ename, const std::string &qname)
 获取绑定信息
 
bool exists (const std::string &ename, const std::string &qname)
 判断绑定信息是否存在
 
size_t size ()
 获取绑定信息数量
 
void clear ()
 清除绑定信息
 

Private 属性

std::mutex _mutex
 互斥锁
 
BindingMapper _mapper
 绑定信息持久化管理类
 
BindingMap _bindings
 绑定映射表
 

详细描述

绑定信息内存管理类

成员类型定义说明

◆ ptr

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

绑定信息内存管理类指针

构造及析构函数说明

◆ BindingManager()

XuMQ::BindingManager::BindingManager ( const std::string &  dbfile)
inline

绑定信息数据内存管理类 构造函数 从数据库中恢复数据

参数
dbfile数据库名称
函数调用图:

成员函数说明

◆ bind()

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

添加绑定信息

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

◆ clear()

void XuMQ::BindingManager::clear ( )
inline

清除绑定信息

函数调用图:

◆ exists()

bool XuMQ::BindingManager::exists ( const std::string &  ename,
const std::string &  qname 
)
inline

判断绑定信息是否存在

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

◆ getBinding()

Binding::ptr XuMQ::BindingManager::getBinding ( const std::string &  ename,
const std::string &  qname 
)
inline

获取绑定信息

参数
ename交换机名称
qname消息队列名称
返回
绑定信息指针
参见
Binding::ptr

◆ getExchangeBindings()

MsgQueueBindingMap XuMQ::BindingManager::getExchangeBindings ( const std::string &  ename)
inline

获取指定交换机的绑定信息

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

◆ removeExchangeBindings()

void XuMQ::BindingManager::removeExchangeBindings ( const std::string &  ename)
inline

移除指定交换机的所有绑定信息

参数
ename交换机名称
函数调用图:

◆ removeMsgQueueBindings()

void XuMQ::BindingManager::removeMsgQueueBindings ( const std::string &  qname)
inline

移除指定消息队列的所有绑定信息

参数
qname消息队列名称
函数调用图:

◆ size()

size_t XuMQ::BindingManager::size ( )
inline

获取绑定信息数量

返回
绑定信息数量

◆ unbind()

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

解除绑定信息

参数
ename交换机名称
qname消息队列名称
函数调用图:

类成员变量说明

◆ _bindings

BindingMap XuMQ::BindingManager::_bindings
private

绑定映射表

◆ _mapper

BindingMapper XuMQ::BindingManager::_mapper
private

绑定信息持久化管理类

◆ _mutex

std::mutex XuMQ::BindingManager::_mutex
private

互斥锁