服务器类,负责处理客户端请求、管理连接、分发消息。 更多...
#include <broker.hpp>
Public 类型 | |
using | MessagePtr = std::shared_ptr< google::protobuf::Message > |
protobuf消息的智能指针类型定义 | |
Public 成员函数 | |
Server (int port, const std::string &basedir) | |
Server类的构造函数 | |
void | start () |
启动服务器,开始监听并处理客户端请求 | |
Private 成员函数 | |
bool | onOpenChannel (const muduo::net::TcpConnectionPtr &conn, const openChannelRequestPtr message, muduo::Timestamp) |
处理打开信道的请求 | |
void | onCloseChannel (const muduo::net::TcpConnectionPtr &conn, const closeChannelRequestPtr message, muduo::Timestamp) |
处理关闭信道的请求 | |
void | onDeclareExchange (const muduo::net::TcpConnectionPtr &conn, const declareExchangeRequestPtr message, muduo::Timestamp) |
处理声明交换机的请求 | |
void | onDeleteExchange (const muduo::net::TcpConnectionPtr &conn, const deleteExchangeRequestPtr message, muduo::Timestamp) |
处理删除交换机的请求 | |
void | onDeClareQueue (const muduo::net::TcpConnectionPtr &conn, const declareQueueRequestPtr message, muduo::Timestamp) |
处理声明队列的请求 | |
void | onDeleteQueue (const muduo::net::TcpConnectionPtr &conn, const deleteQueueRequestPtr message, muduo::Timestamp) |
处理删除队列的请求 | |
void | onQueueBind (const muduo::net::TcpConnectionPtr &conn, const queueBindRequestPtr message, muduo::Timestamp) |
处理队列绑定的请求 | |
void | onQueueUnBind (const muduo::net::TcpConnectionPtr &conn, const queueUnBindRequestPtr message, muduo::Timestamp) |
处理队列解绑的请求 | |
void | onBasicPublish (const muduo::net::TcpConnectionPtr &conn, const basicPublishRequestPtr message, muduo::Timestamp) |
处理消息发布的请求 | |
void | onBasicAck (const muduo::net::TcpConnectionPtr &conn, const basicAckRequestPtr message, muduo::Timestamp) |
处理消息应答的请求 | |
void | onBasicConsume (const muduo::net::TcpConnectionPtr &conn, const basicConsumeRequestPtr message, muduo::Timestamp) |
处理消息订阅的请求 | |
void | onBasicCancel (const muduo::net::TcpConnectionPtr &conn, const basicCancelRequestPtr message, muduo::Timestamp) |
处理取消订阅的请求 | |
void | onUnknowMessage (const muduo::net::TcpConnectionPtr &conn, const Server::MessagePtr message, muduo::Timestamp) |
处理未知消息类型的请求 | |
void | onConnection (const muduo::net::TcpConnectionPtr &conn) |
处理新连接的回调函数 | |
Private 属性 | |
muduo::net::EventLoop | _baseloop |
基础时间循环 | |
muduo::net::TcpServer | _server |
服务器对象 | |
ProtobufDispatcher | _dispatcher |
请求分发器对象 -> 注册请求处理函数 | |
ProtobufCodecPtr | _codec |
protobuf协议处理器 -> 对收到的请求数据进行protobuf协议处理 | |
VirtualHost::ptr | _virtual_host |
虚拟机句柄 | |
ConsumerManager::ptr | _consumer_manager |
消费者管理句柄 | |
ConnectionManager::ptr | _connection_manager |
连接管理句柄 | |
threadpool::ptr | _threadpool |
线程池管理句柄 | |
服务器类,负责处理客户端请求、管理连接、分发消息。
using XuMQ::Server::MessagePtr = std::shared_ptr<google::protobuf::Message> |
protobuf消息的智能指针类型定义
|
inline |
Server类的构造函数
port | 服务器监听的端口号 |
basedir | 基础目录,用于存储元数据等文件 |
|
inlineprivate |
处理消息应答的请求
conn | 客户端连接 |
message | 消息应答请求消息 |
timestamp | 消息时间戳 |
|
inlineprivate |
处理取消订阅的请求
conn | 客户端连接 |
message | 取消订阅请求消息 |
timestamp | 消息时间戳 |
|
inlineprivate |
处理消息订阅的请求
conn | 客户端连接 |
message | 消息订阅请求消息 |
timestamp | 消息时间戳 |
|
inlineprivate |
处理消息发布的请求
conn | 客户端连接 |
message | 消息发布请求消息 |
timestamp | 消息时间戳 |
|
inlineprivate |
处理关闭信道的请求
conn | 客户端连接 |
message | 关闭信道请求消息 |
timestamp | 消息时间戳 |
|
inlineprivate |
处理新连接的回调函数
conn | 新建立的TCP连接 |
|
inlineprivate |
处理声明交换机的请求
conn | 客户端连接 |
message | 声明交换机请求消息 |
timestamp | 消息时间戳 |
|
inlineprivate |
处理声明队列的请求
conn | 客户端连接 |
message | 声明队列请求消息 |
timestamp | 消息时间戳 |
|
inlineprivate |
处理删除交换机的请求
conn | 客户端连接 |
message | 删除交换机请求消息 |
timestamp | 消息时间戳 |
|
inlineprivate |
处理删除队列的请求
conn | 客户端连接 |
message | 删除队列请求消息 |
timestamp | 消息时间戳 |
|
inlineprivate |
处理打开信道的请求
conn | 客户端连接 |
message | 打开信道请求消息 |
timestamp | 消息时间戳 |
|
inlineprivate |
处理队列绑定的请求
conn | 客户端连接 |
message | 队列绑定请求消息 |
timestamp | 消息时间戳 |
|
inlineprivate |
处理队列解绑的请求
conn | 客户端连接 |
message | 队列解绑请求消息 |
timestamp | 消息时间戳 |
|
inlineprivate |
处理未知消息类型的请求
conn | 客户端连接 |
message | 未知类型的消息 |
timestamp | 消息时间戳 |
|
inline |
启动服务器,开始监听并处理客户端请求
|
private |
基础时间循环
|
private |
protobuf协议处理器 -> 对收到的请求数据进行protobuf协议处理
|
private |
连接管理句柄
|
private |
消费者管理句柄
|
private |
请求分发器对象 -> 注册请求处理函数
|
private |
服务器对象
|
private |
线程池管理句柄
|
private |
虚拟机句柄