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

连接管理模块 更多...

#include <connection.hpp>

Public 类型

using ptr = std::shared_ptr< Connection >
 连接管理句柄
 
using ptr = std::shared_ptr< Connection >
 连接句柄
 

Public 成员函数

 Connection (const std::string &sip, int sport, const AsyncWorker::ptr &worker)
 连接构造函数
 
Channel::ptr openChannel ()
 创建信道
 
void closeChannel (const Channel::ptr &channel)
 关闭信道
 
 Connection (const VirtualHost::ptr &host, const ConsumerManager::ptr &cmp, const ProtobufCodecPtr &codec, const muduo::net::TcpConnectionPtr &conn, const threadpool::ptr &pool)
 连接构造函数
 
bool openChannel (const openChannelRequestPtr &req)
 打开信道
 
void closeChannel (const closeChannelRequestPtr &req)
 关闭信道
 
Channel::ptr getChannel (const std::string &cid)
 

Private 成员函数

void commonResponse (const muduo::net::TcpConnectionPtr &conn, const basicResponsePtr message, muduo::Timestamp)
 处理一般响应的回调函数
 
void consumeResponse (const muduo::net::TcpConnectionPtr &conn, const basicConsumeResponsePtr message, muduo::Timestamp)
 处理消费响应的回调函数
 
void onConnection (const muduo::net::TcpConnectionPtr &conn)
 连接回调函数
 
void onUnknowMessage (const muduo::net::TcpConnectionPtr &conn, const MessagePtr &message, muduo::Timestamp)
 未知响应回调函数
 
void basicRespFunc (bool ok, const std::string &rid, const std::string &cid)
 基础响应发送函数
 

Private 属性

muduo::CountDownLatch _latch
 实现同步
 
muduo::net::TcpConnectionPtr _conn
 客户端连接
 
muduo::net::TcpClient _client
 客户端句柄
 
ProtobufDispatcher _dispatcher
 请求分发器
 
ProtobufCodecPtr _codec
 协议处理器
 
AsyncWorker::ptr _worker
 异步线程工作器
 
ChannelManager::ptr _channels
 信道管理句柄
 
ConsumerManager::ptr _cmp
 消费者管理句柄
 
VirtualHost::ptr _host
 虚拟机
 
threadpool::ptr _pool
 线程池
 

详细描述

连接管理模块

连接类

成员类型定义说明

◆ ptr [1/2]

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

连接管理句柄

◆ ptr [2/2]

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

连接句柄

构造及析构函数说明

◆ Connection() [1/2]

XuMQ::Connection::Connection ( const std::string &  sip,
int  sport,
const AsyncWorker::ptr worker 
)
inline

连接构造函数

参数
sip服务器ip
sport服务器端口号
worker异步工作器句柄
函数调用图:

◆ Connection() [2/2]

XuMQ::Connection::Connection ( const VirtualHost::ptr host,
const ConsumerManager::ptr cmp,
const ProtobufCodecPtr codec,
const muduo::net::TcpConnectionPtr &  conn,
const threadpool::ptr pool 
)
inline

连接构造函数

参数
host虚拟机
cmp消费者管理句柄
codec协议处理句柄
connmuduo连接管理句柄
pool线程池管理句柄

成员函数说明

◆ basicRespFunc()

void XuMQ::Connection::basicRespFunc ( bool  ok,
const std::string &  rid,
const std::string &  cid 
)
inlineprivate

基础响应发送函数

参数
ok响应结果
rid信道id
cid请求id
函数调用图:
这是这个函数的调用关系图:

◆ closeChannel() [1/2]

void XuMQ::Connection::closeChannel ( const Channel::ptr channel)
inline

关闭信道

参数
channel信道句柄

◆ closeChannel() [2/2]

void XuMQ::Connection::closeChannel ( const closeChannelRequestPtr req)
inline

关闭信道

参数
req关闭信道请求
函数调用图:

◆ commonResponse()

void XuMQ::Connection::commonResponse ( const muduo::net::TcpConnectionPtr &  conn,
const basicResponsePtr  message,
muduo::Timestamp   
)
inlineprivate

处理一般响应的回调函数

参数
connmuduo连接
message响应句柄
时间戳
这是这个函数的调用关系图:

◆ consumeResponse()

void XuMQ::Connection::consumeResponse ( const muduo::net::TcpConnectionPtr &  conn,
const basicConsumeResponsePtr  message,
muduo::Timestamp   
)
inlineprivate

处理消费响应的回调函数

参数
connmuduo连接
message消费响应
时间戳
这是这个函数的调用关系图:

◆ getChannel()

Channel::ptr XuMQ::Connection::getChannel ( const std::string &  cid)
inline

◆ onConnection()

void XuMQ::Connection::onConnection ( const muduo::net::TcpConnectionPtr &  conn)
inlineprivate

连接回调函数

参数
connmuduo连接
这是这个函数的调用关系图:

◆ onUnknowMessage()

void XuMQ::Connection::onUnknowMessage ( const muduo::net::TcpConnectionPtr &  conn,
const MessagePtr message,
muduo::Timestamp   
)
inlineprivate

未知响应回调函数

参数
connmuduo连接
message未知响应
时间戳

◆ openChannel() [1/2]

Channel::ptr XuMQ::Connection::openChannel ( )
inline

创建信道

返回
信道句柄

◆ openChannel() [2/2]

bool XuMQ::Connection::openChannel ( const openChannelRequestPtr req)
inline

打开信道

参数
req打开信道请求
函数调用图:

类成员变量说明

◆ _channels

ChannelManager::ptr XuMQ::Connection::_channels
private

信道管理句柄

◆ _client

muduo::net::TcpClient XuMQ::Connection::_client
private

客户端句柄

◆ _cmp

ConsumerManager::ptr XuMQ::Connection::_cmp
private

消费者管理句柄

◆ _codec

ProtobufCodecPtr XuMQ::Connection::_codec
private

协议处理器

协议处理句柄

◆ _conn

muduo::net::TcpConnectionPtr XuMQ::Connection::_conn
private

客户端连接

muduo连接管理句柄

◆ _dispatcher

ProtobufDispatcher XuMQ::Connection::_dispatcher
private

请求分发器

◆ _host

VirtualHost::ptr XuMQ::Connection::_host
private

虚拟机

◆ _latch

muduo::CountDownLatch XuMQ::Connection::_latch
private

实现同步

◆ _pool

threadpool::ptr XuMQ::Connection::_pool
private

线程池

◆ _worker

AsyncWorker::ptr XuMQ::Connection::_worker
private

异步线程工作器