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

信道管理类 更多...

#include <channel.hpp>

Public 类型

using ptr = std::shared_ptr< ChannelManager >
 信道管理句柄
 
using ptr = std::shared_ptr< ChannelManager >
 信道管理句柄
 

Public 成员函数

 ChannelManager ()
 构造函数
 
Channel::ptr create (const muduo::net::TcpConnectionPtr &conn, const ProtobufCodecPtr &codec)
 新建一个信道
 
void remove (const std::string &cid)
 移除一个信道
 
Channel::ptr get (const std::string &cid)
 获取一个信道
 
 ChannelManager ()
 构造函数
 
bool openChannel (const std::string &id, const VirtualHost::ptr &host, const ConsumerManager::ptr &cmp, const ProtobufCodecPtr &codec, const muduo::net::TcpConnectionPtr &conn, const threadpool::ptr &pool)
 打开一个信道
 
void closeChannel (const std::string &id)
 关闭信道
 
Channel::ptr getChannel (const std::string &id)
 获取信道句柄
 

Private 属性

std::mutex _mutex
 互斥锁
 
std::unordered_map< std::string, Channel::ptr_channels
 信道id和信道句柄的映射表
 

详细描述

信道管理类

成员类型定义说明

◆ ptr [1/2]

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

信道管理句柄

◆ ptr [2/2]

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

信道管理句柄

构造及析构函数说明

◆ ChannelManager() [1/2]

XuMQ::ChannelManager::ChannelManager ( )
inline

构造函数

◆ ChannelManager() [2/2]

XuMQ::ChannelManager::ChannelManager ( )
inline

构造函数

成员函数说明

◆ closeChannel()

void XuMQ::ChannelManager::closeChannel ( const std::string &  id)
inline

关闭信道

参数
id信道id

◆ create()

Channel::ptr XuMQ::ChannelManager::create ( const muduo::net::TcpConnectionPtr &  conn,
const ProtobufCodecPtr codec 
)
inline

新建一个信道

参数
connmuduo连接句柄
codec协议解析句柄
返回
信道句柄

◆ get()

Channel::ptr XuMQ::ChannelManager::get ( const std::string &  cid)
inline

获取一个信道

参数
cid信道id
返回
信道句柄

◆ getChannel()

Channel::ptr XuMQ::ChannelManager::getChannel ( const std::string &  id)
inline

获取信道句柄

参数
id信道id
返回
信道管理句柄

◆ openChannel()

bool XuMQ::ChannelManager::openChannel ( const std::string &  id,
const VirtualHost::ptr host,
const ConsumerManager::ptr cmp,
const ProtobufCodecPtr codec,
const muduo::net::TcpConnectionPtr &  conn,
const threadpool::ptr pool 
)
inline

打开一个信道

参数
id信道id
host虚拟机
cmp消费者管理句柄
codec协议处理句柄
connmuduo连接管理句柄
pool线程池管理句柄
返回
成功返回 true 失败返回 false

◆ remove()

void XuMQ::ChannelManager::remove ( const std::string &  cid)
inline

移除一个信道

参数
cid信道id

类成员变量说明

◆ _channels

std::unordered_map< std::string, Channel::ptr > XuMQ::ChannelManager::_channels
private

信道id和信道句柄的映射表

信道id到信道管理句柄的映射表

◆ _mutex

std::mutex XuMQ::ChannelManager::_mutex
private

互斥锁