Message-Queues beta 1.1
A Message-Queues based Cpp
 
载入中...
搜索中...
未找到
XuMQ 命名空间参考

class  AsyncWorker
 异步工作线程类 更多...
 
class  basicAckRequest
 
struct  basicAckRequestDefaultTypeInternal
 
class  basicCancelRequest
 
struct  basicCancelRequestDefaultTypeInternal
 
class  basicConsumeRequest
 
struct  basicConsumeRequestDefaultTypeInternal
 
class  basicConsumeResponse
 
struct  basicConsumeResponseDefaultTypeInternal
 
class  BasicProperties
 
struct  BasicPropertiesDefaultTypeInternal
 
class  basicPublishRequest
 
struct  basicPublishRequestDefaultTypeInternal
 
class  basicResponse
 
struct  basicResponseDefaultTypeInternal
 
struct  Binding
 绑定信息结构体 更多...
 
class  BindingManager
 绑定信息内存管理类 更多...
 
class  BindingMapper
 绑定信息持久化管理类 更多...
 
class  Channel
 客户端信道类 更多...
 
class  ChannelManager
 信道管理类 更多...
 
class  closeChannelRequest
 
struct  closeChannelRequestDefaultTypeInternal
 
class  Connection
 连接管理模块 更多...
 
class  ConnectionManager
 连接管理类 更多...
 
struct  Consumer
 消费者对象结构 更多...
 
class  ConsumerManager
 消费者队列管理器 更多...
 
class  declareExchangeRequest
 
class  declareExchangeRequest_ArgsEntry_DoNotUse
 
struct  declareExchangeRequest_ArgsEntry_DoNotUseDefaultTypeInternal
 
struct  declareExchangeRequestDefaultTypeInternal
 
class  declareQueueRequest
 
class  declareQueueRequest_ArgsEntry_DoNotUse
 
struct  declareQueueRequest_ArgsEntry_DoNotUseDefaultTypeInternal
 
struct  declareQueueRequestDefaultTypeInternal
 
class  deleteExchangeRequest
 
struct  deleteExchangeRequestDefaultTypeInternal
 
class  deleteQueueRequest
 
struct  deleteQueueRequestDefaultTypeInternal
 
struct  Exchange
 交换机结构体对象 更多...
 
class  ExchangeManager
 交换机数据内存管理类 更多...
 
class  ExchangeMapper
 
class  FileHelper
 文件操作帮助类 更多...
 
class  LogInit
 日志初始化类,用于设置异步日志器 更多...
 
class  Message
 
class  Message_Payload
 
struct  Message_PayloadDefaultTypeInternal
 
struct  MessageDefaultTypeInternal
 
class  MessageManager
 消息管理类 更多...
 
class  MessageMapper
 处理消息队列的文件存储和管理类 更多...
 
struct  MsgQueue
 消息队列结构体 更多...
 
class  MsgQueueManager
 消息队列数据内存管理类 更多...
 
class  MsgQueueMapper
 消息队列持久化管理类 将数据存储在sqlite数据库中 更多...
 
class  openChannelRequest
 
struct  openChannelRequestDefaultTypeInternal
 
class  queueBindRequest
 
struct  queueBindRequestDefaultTypeInternal
 
class  QueueConsumer
 以队列为单元的消费者管理类 更多...
 
class  QueueMessage
 推送消息队列管理 更多...
 
class  queueUnBindRequest
 
struct  queueUnBindRequestDefaultTypeInternal
 
class  Router
 路由管理器 更多...
 
class  Server
 服务器类,负责处理客户端请求、管理连接、分发消息。 更多...
 
class  SqliteHelper
 SQLite 数据库操作助手类 更多...
 
class  StrHelper
 字符串处理助手类 更多...
 
class  threadpool
 
class  UUIDHelper
 提供生成 UUID 的工具类。 更多...
 
class  VirtualHost
 虚拟机模块 更多...
 
class  VirtualHostManager
 虚拟机管理类 更多...
 

类型定义

using MessagePtr = std::shared_ptr< google::protobuf::Message >
 消息句柄
 
using ProtobufCodecPtr = std::shared_ptr< ProtobufCodec >
 协议处理句柄
 
using basicConsumeResponsePtr = std::shared_ptr< basicConsumeResponse >
 消费响应句柄
 
using basicResponsePtr = std::shared_ptr< basicResponse >
 其他响应句柄
 
using ConsumerCallback = std::function< void(const std::string &, const BasicProperties *, const std::string &)>
 消费者回调函数
 
using MsgQueueBindingMap = std::unordered_map< std::string, Binding::ptr >
 消息队列绑定映射表-—消息队列->绑定信息的映射表
 
using BindingMap = std::unordered_map< std::string, MsgQueueBindingMap >
 绑定映射表-—交换机->消息队列绑定映射表的映射表
 
using openChannelRequestPtr = std::shared_ptr< openChannelRequest >
 打开信道请求
 
using closeChannelRequestPtr = std::shared_ptr< closeChannelRequest >
 关闭信道请求
 
using declareExchangeRequestPtr = std::shared_ptr< declareExchangeRequest >
 声明交换机请求
 
using deleteExchangeRequestPtr = std::shared_ptr< deleteExchangeRequest >
 删除交换机请求
 
using declareQueueRequestPtr = std::shared_ptr< declareQueueRequest >
 声明队列请求
 
using deleteQueueRequestPtr = std::shared_ptr< deleteQueueRequest >
 删除队列请求
 
using queueBindRequestPtr = std::shared_ptr< queueBindRequest >
 绑定请求
 
using queueUnBindRequestPtr = std::shared_ptr< queueUnBindRequest >
 解除绑定请求
 
using basicPublishRequestPtr = std::shared_ptr< basicPublishRequest >
 消息发布请求
 
using basicAckRequestPtr = std::shared_ptr< basicAckRequest >
 消息应答请求
 
using basicCancelRequestPtr = std::shared_ptr< basicCancelRequest >
 取消订阅请求
 
using basicConsumeRequestPtr = std::shared_ptr< basicConsumeRequest >
 取消订阅请求
 
using ExchangeMap = std::unordered_map< std::string, Exchange::ptr >
 交换机映射表 交换机名称->交换机对象指针
 
using QueueMap = std::unordered_map< std::string, MsgQueue::ptr >
 消息队列映射表 消息队列名称->消息队列指针
 

枚举

enum  ExchangeType : int {
  UNKNOWTYPE = 0 , DIRECT = 1 , FANOUT = 2 , TOPIC = 3 ,
  ExchangeType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min() , ExchangeType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max()
}
 
enum  DeliveryMode : int {
  UNKNOWMODE = 0 , UNDURABLE = 1 , DURABLE = 2 , DeliveryMode_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::min() ,
  DeliveryMode_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<int32_t>::max()
}
 

函数

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * ExchangeType_descriptor ()
 
bool ExchangeType_IsValid (int value)
 
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DeliveryMode_descriptor ()
 
bool DeliveryMode_IsValid (int value)
 
template<typename T >
const std::string & ExchangeType_Name (T enum_t_value)
 
bool ExchangeType_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ExchangeType *value)
 
template<typename T >
const std::string & DeliveryMode_Name (T enum_t_value)
 
bool DeliveryMode_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DeliveryMode *value)
 

变量

Xulog::Logger::ptr logger
 日志器的智能指针类型
 
LogInit log_init
 在全局范围内初始化日志器
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BasicPropertiesDefaultTypeInternal _BasicProperties_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Message_PayloadDefaultTypeInternal _Message_Payload_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MessageDefaultTypeInternal _Message_default_instance_
 
constexpr ExchangeType ExchangeType_MIN = UNKNOWTYPE
 
constexpr ExchangeType ExchangeType_MAX = TOPIC
 
constexpr int ExchangeType_ARRAYSIZE = ExchangeType_MAX + 1
 
constexpr DeliveryMode DeliveryMode_MIN = UNKNOWMODE
 
constexpr DeliveryMode DeliveryMode_MAX = DURABLE
 
constexpr int DeliveryMode_ARRAYSIZE = DeliveryMode_MAX + 1
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 openChannelRequestDefaultTypeInternal _openChannelRequest_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 closeChannelRequestDefaultTypeInternal _closeChannelRequest_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 declareExchangeRequest_ArgsEntry_DoNotUseDefaultTypeInternal _declareExchangeRequest_ArgsEntry_DoNotUse_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 declareExchangeRequestDefaultTypeInternal _declareExchangeRequest_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 deleteExchangeRequestDefaultTypeInternal _deleteExchangeRequest_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 declareQueueRequest_ArgsEntry_DoNotUseDefaultTypeInternal _declareQueueRequest_ArgsEntry_DoNotUse_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 declareQueueRequestDefaultTypeInternal _declareQueueRequest_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 deleteQueueRequestDefaultTypeInternal _deleteQueueRequest_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 queueBindRequestDefaultTypeInternal _queueBindRequest_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 queueUnBindRequestDefaultTypeInternal _queueUnBindRequest_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 basicPublishRequestDefaultTypeInternal _basicPublishRequest_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 basicAckRequestDefaultTypeInternal _basicAckRequest_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 basicConsumeRequestDefaultTypeInternal _basicConsumeRequest_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 basicCancelRequestDefaultTypeInternal _basicCancelRequest_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 basicConsumeResponseDefaultTypeInternal _basicConsumeResponse_default_instance_
 
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 basicResponseDefaultTypeInternal _basicResponse_default_instance_
 
const char * DBFILE = "/meta.db"
 数据库名称
 
const char * HOSTNAME = "VirtualHost"
 虚拟机名称
 
const char * DATAFILE_SUBFIX = ".mqd"
 数据文件后缀名
 
const char * TMPFILE_SUBFIX = ".mqd.tmp"
 临时文件后缀名
 
const char * MSG_VALID = "1"
 消息有效标志
 
const char * MSG_INVALID = "0"
 消息无效标志
 

类型定义说明

◆ basicAckRequestPtr

using XuMQ::basicAckRequestPtr = typedef std::shared_ptr<basicAckRequest>

消息应答请求

◆ basicCancelRequestPtr

using XuMQ::basicCancelRequestPtr = typedef std::shared_ptr<basicCancelRequest>

取消订阅请求

◆ basicConsumeRequestPtr

using XuMQ::basicConsumeRequestPtr = typedef std::shared_ptr<basicConsumeRequest>

取消订阅请求

◆ basicConsumeResponsePtr

using XuMQ::basicConsumeResponsePtr = typedef std::shared_ptr<basicConsumeResponse>

消费响应句柄

◆ basicPublishRequestPtr

using XuMQ::basicPublishRequestPtr = typedef std::shared_ptr<basicPublishRequest>

消息发布请求

◆ basicResponsePtr

using XuMQ::basicResponsePtr = typedef std::shared_ptr<basicResponse>

其他响应句柄

◆ BindingMap

using XuMQ::BindingMap = typedef std::unordered_map<std::string, MsgQueueBindingMap>

绑定映射表-—交换机->消息队列绑定映射表的映射表

注解
一个交换机可能会有多个队列的绑定信息 从交换机名称找到其关联的所有的消息队列和对应的绑定信息 这一张表包含了所有的交换机, 消息队列, 绑定信息 以交换机为单元进行区分 first是交换机名称 second是消息队列绑定映射表
弃用:
已弃用 std::unordered_map<std::string, Binding::ptr>; 队列->绑定信息 std::unordered_map<std::string, Binding::ptr>; 交换机->绑定信息 删除交换机绑定信息时, 需要删除交换机->绑定信息中的数据 额外需要遍历队列->绑定信息中绑定信息的交换机名称 再进行释放 效率极低

◆ closeChannelRequestPtr

using XuMQ::closeChannelRequestPtr = typedef std::shared_ptr<closeChannelRequest>

关闭信道请求

◆ ConsumerCallback

typedef std::function< void(const std::string &, const BasicProperties *, const std::string &)> XuMQ::ConsumerCallback

消费者回调函数

◆ declareExchangeRequestPtr

using XuMQ::declareExchangeRequestPtr = typedef std::shared_ptr<declareExchangeRequest>

声明交换机请求

◆ declareQueueRequestPtr

using XuMQ::declareQueueRequestPtr = typedef std::shared_ptr<declareQueueRequest>

声明队列请求

◆ deleteExchangeRequestPtr

using XuMQ::deleteExchangeRequestPtr = typedef std::shared_ptr<deleteExchangeRequest>

删除交换机请求

◆ deleteQueueRequestPtr

using XuMQ::deleteQueueRequestPtr = typedef std::shared_ptr<deleteQueueRequest>

删除队列请求

◆ ExchangeMap

using XuMQ::ExchangeMap = typedef std::unordered_map<std::string, Exchange::ptr>

交换机映射表 交换机名称->交换机对象指针

◆ MessagePtr

typedef std::shared_ptr< XuMQ::Message > XuMQ::MessagePtr

消息句柄

proto生成的Message类型指针

◆ MsgQueueBindingMap

using XuMQ::MsgQueueBindingMap = typedef std::unordered_map<std::string, Binding::ptr>

消息队列绑定映射表-—消息队列->绑定信息的映射表

注解
消息队列与绑定信息是一一对应的, 方便从队列名查找绑定信息 first是消息队列名称 second是绑定信息指针

◆ openChannelRequestPtr

using XuMQ::openChannelRequestPtr = typedef std::shared_ptr<openChannelRequest>

打开信道请求

◆ ProtobufCodecPtr

typedef std::shared_ptr< ProtobufCodec > XuMQ::ProtobufCodecPtr

协议处理句柄

◆ queueBindRequestPtr

using XuMQ::queueBindRequestPtr = typedef std::shared_ptr<queueBindRequest>

绑定请求

◆ QueueMap

using XuMQ::QueueMap = typedef std::unordered_map<std::string, MsgQueue::ptr>

消息队列映射表 消息队列名称->消息队列指针

◆ queueUnBindRequestPtr

using XuMQ::queueUnBindRequestPtr = typedef std::shared_ptr<queueUnBindRequest>

解除绑定请求

枚举类型说明

◆ DeliveryMode

enum XuMQ::DeliveryMode : int
枚举值
UNKNOWMODE 
UNDURABLE 
DURABLE 
DeliveryMode_INT_MIN_SENTINEL_DO_NOT_USE_ 
DeliveryMode_INT_MAX_SENTINEL_DO_NOT_USE_ 

◆ ExchangeType

enum XuMQ::ExchangeType : int
枚举值
UNKNOWTYPE 
DIRECT 
FANOUT 
TOPIC 
ExchangeType_INT_MIN_SENTINEL_DO_NOT_USE_ 
ExchangeType_INT_MAX_SENTINEL_DO_NOT_USE_ 

函数说明

◆ DeliveryMode_descriptor()

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * XuMQ::DeliveryMode_descriptor ( )
这是这个函数的调用关系图:

◆ DeliveryMode_IsValid()

bool XuMQ::DeliveryMode_IsValid ( int  value)

◆ DeliveryMode_Name()

template<typename T >
const std::string & XuMQ::DeliveryMode_Name ( enum_t_value)
inline
函数调用图:

◆ DeliveryMode_Parse()

bool XuMQ::DeliveryMode_Parse ( ::PROTOBUF_NAMESPACE_ID::ConstStringParam  name,
DeliveryMode value 
)
inline
函数调用图:

◆ ExchangeType_descriptor()

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * XuMQ::ExchangeType_descriptor ( )
这是这个函数的调用关系图:

◆ ExchangeType_IsValid()

bool XuMQ::ExchangeType_IsValid ( int  value)

◆ ExchangeType_Name()

template<typename T >
const std::string & XuMQ::ExchangeType_Name ( enum_t_value)
inline
函数调用图:

◆ ExchangeType_Parse()

bool XuMQ::ExchangeType_Parse ( ::PROTOBUF_NAMESPACE_ID::ConstStringParam  name,
ExchangeType value 
)
inline
函数调用图:

变量说明

◆ _basicAckRequest_default_instance_

basicAckRequestDefaultTypeInternal XuMQ::_basicAckRequest_default_instance_

◆ _basicCancelRequest_default_instance_

basicCancelRequestDefaultTypeInternal XuMQ::_basicCancelRequest_default_instance_

◆ _basicConsumeRequest_default_instance_

basicConsumeRequestDefaultTypeInternal XuMQ::_basicConsumeRequest_default_instance_

◆ _basicConsumeResponse_default_instance_

basicConsumeResponseDefaultTypeInternal XuMQ::_basicConsumeResponse_default_instance_

◆ _BasicProperties_default_instance_

BasicPropertiesDefaultTypeInternal XuMQ::_BasicProperties_default_instance_

◆ _basicPublishRequest_default_instance_

basicPublishRequestDefaultTypeInternal XuMQ::_basicPublishRequest_default_instance_

◆ _basicResponse_default_instance_

basicResponseDefaultTypeInternal XuMQ::_basicResponse_default_instance_

◆ _closeChannelRequest_default_instance_

closeChannelRequestDefaultTypeInternal XuMQ::_closeChannelRequest_default_instance_

◆ _declareExchangeRequest_ArgsEntry_DoNotUse_default_instance_

declareExchangeRequest_ArgsEntry_DoNotUseDefaultTypeInternal XuMQ::_declareExchangeRequest_ArgsEntry_DoNotUse_default_instance_

◆ _declareExchangeRequest_default_instance_

declareExchangeRequestDefaultTypeInternal XuMQ::_declareExchangeRequest_default_instance_

◆ _declareQueueRequest_ArgsEntry_DoNotUse_default_instance_

declareQueueRequest_ArgsEntry_DoNotUseDefaultTypeInternal XuMQ::_declareQueueRequest_ArgsEntry_DoNotUse_default_instance_

◆ _declareQueueRequest_default_instance_

declareQueueRequestDefaultTypeInternal XuMQ::_declareQueueRequest_default_instance_

◆ _deleteExchangeRequest_default_instance_

deleteExchangeRequestDefaultTypeInternal XuMQ::_deleteExchangeRequest_default_instance_

◆ _deleteQueueRequest_default_instance_

deleteQueueRequestDefaultTypeInternal XuMQ::_deleteQueueRequest_default_instance_

◆ _Message_default_instance_

MessageDefaultTypeInternal XuMQ::_Message_default_instance_

◆ _Message_Payload_default_instance_

Message_PayloadDefaultTypeInternal XuMQ::_Message_Payload_default_instance_

◆ _openChannelRequest_default_instance_

openChannelRequestDefaultTypeInternal XuMQ::_openChannelRequest_default_instance_

◆ _queueBindRequest_default_instance_

queueBindRequestDefaultTypeInternal XuMQ::_queueBindRequest_default_instance_

◆ _queueUnBindRequest_default_instance_

queueUnBindRequestDefaultTypeInternal XuMQ::_queueUnBindRequest_default_instance_

◆ DATAFILE_SUBFIX

const char* XuMQ::DATAFILE_SUBFIX = ".mqd"

数据文件后缀名

◆ DBFILE

const char* XuMQ::DBFILE = "/meta.db"

数据库名称

◆ DeliveryMode_ARRAYSIZE

constexpr int XuMQ::DeliveryMode_ARRAYSIZE = DeliveryMode_MAX + 1
constexpr

◆ DeliveryMode_MAX

constexpr DeliveryMode XuMQ::DeliveryMode_MAX = DURABLE
constexpr

◆ DeliveryMode_MIN

constexpr DeliveryMode XuMQ::DeliveryMode_MIN = UNKNOWMODE
constexpr

◆ ExchangeType_ARRAYSIZE

constexpr int XuMQ::ExchangeType_ARRAYSIZE = ExchangeType_MAX + 1
constexpr

◆ ExchangeType_MAX

constexpr ExchangeType XuMQ::ExchangeType_MAX = TOPIC
constexpr

◆ ExchangeType_MIN

constexpr ExchangeType XuMQ::ExchangeType_MIN = UNKNOWTYPE
constexpr

◆ HOSTNAME

const char* XuMQ::HOSTNAME = "VirtualHost"

虚拟机名称

◆ log_init

LogInit XuMQ::log_init

在全局范围内初始化日志器

◆ logger

Xulog::Logger::ptr XuMQ::logger

日志器的智能指针类型

◆ MSG_INVALID

const char* XuMQ::MSG_INVALID = "0"

消息无效标志

◆ MSG_VALID

const char* XuMQ::MSG_VALID = "1"

消息有效标志

◆ TMPFILE_SUBFIX

const char* XuMQ::TMPFILE_SUBFIX = ".mqd.tmp"

临时文件后缀名