diff --git a/README.md b/README.md index 3c93d6a3..25a3ec3f 100644 --- a/README.md +++ b/README.md @@ -83,10 +83,8 @@ ProducerClient和ConsumerClient通过网络的方式远程调用这些API实现 * Fanout-广播交换: 复制发布到该交换机的所有队列 * Topic-主题交换: 队列在创建时指定了一个bindingKey, 当交换机收到一个消息时, 该消息内部存在一个字符串routingKey, 当routingKey与bindKey满足一定条件时, 把消息存到该队列中 -> 匹配样例 - -binding_key: news.music.# 约定字符: 数字\\字母\\ '\_' \\ '\.' \\ '\#' \\ '\*' -routing_key: news.music.pop 约定字符: 数字\\字母\\ '\_' \\ '\.' +> 匹配规则

+binding_key: `news.music.#` 约定字符: 数字`0~9`\\字母`a~z A~Z`\\ `_` \\ `.` \\ `#` \\ `*`
**注意**
1. `*` 通配符可以代替一个任意单词 例如: `news.*.footable`是合法的
2. `#` 通配符可以代替任意多个(0个或任意个)单词 例如: `news.sport.#`是合法的
3. 在两个点直接不允许出现通配符和其他字符 例如: `news.*a.footable`是不合法的
4. `#`通配符不允许连续使用通配符 没有意义 例如`news.#.*.footable #.# *.# #.*`是不合法的

routing_key: news.music.pop 约定字符: 数字`0~9`\\字母`a~z A~Z`\\ `_` \\ `.` ### 网络通信 diff --git a/docs/annotated.html b/docs/annotated.html index 125f2d47..3e08d54a 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -128,19 +128,21 @@  CMsgQueueManager消息队列数据内存管理类  CMsgQueueMapper消息队列持久化管理类 将数据存储在sqlite数据库中  CQueueMessage推送消息队列管理 - CSqliteHelperSQLite 数据库操作助手类 - CStrHelper字符串处理助手类 - CUUIDHelper提供生成 UUID 的工具类。 - CVirtualHost虚拟机模块 - CBindingTest - CExchangerMapper交换机持久化管理类 将数据存储在sqlite数据库中 - CExchangeTest - CHostTest - Cis_proto_enum< ::XuMQ::DeliveryMode > - Cis_proto_enum< ::XuMQ::ExchangeType > - CQueueTest - CTableStruct_msg_2eproto - CUUIDHelper + CRouter路由管理器 + CSqliteHelperSQLite 数据库操作助手类 + CStrHelper字符串处理助手类 + CUUIDHelper提供生成 UUID 的工具类。 + CVirtualHost虚拟机模块 + CBindingTest + CExchangerMapper交换机持久化管理类 将数据存储在sqlite数据库中 + CExchangeTest + CHostTest + Cis_proto_enum< ::XuMQ::DeliveryMode > + Cis_proto_enum< ::XuMQ::ExchangeType > + CQueueTest + CRouteTest + CTableStruct_msg_2eproto + CUUIDHelper diff --git a/docs/annotated_dup.js b/docs/annotated_dup.js index fbfd552c..5d15f6a9 100644 --- a/docs/annotated_dup.js +++ b/docs/annotated_dup.js @@ -21,6 +21,7 @@ var annotated_dup = [ "MsgQueueManager", "class_xu_m_q_1_1_msg_queue_manager.html", "class_xu_m_q_1_1_msg_queue_manager" ], [ "MsgQueueMapper", "class_xu_m_q_1_1_msg_queue_mapper.html", "class_xu_m_q_1_1_msg_queue_mapper" ], [ "QueueMessage", "class_xu_m_q_1_1_queue_message.html", "class_xu_m_q_1_1_queue_message" ], + [ "Router", "class_xu_m_q_1_1_router.html", "class_xu_m_q_1_1_router" ], [ "SqliteHelper", "class_xu_m_q_1_1_sqlite_helper.html", "class_xu_m_q_1_1_sqlite_helper" ], [ "StrHelper", "class_xu_m_q_1_1_str_helper.html", "class_xu_m_q_1_1_str_helper" ], [ "UUIDHelper", "class_xu_m_q_1_1_u_u_i_d_helper.html", "class_xu_m_q_1_1_u_u_i_d_helper" ], @@ -33,6 +34,7 @@ var annotated_dup = [ "is_proto_enum< ::XuMQ::DeliveryMode >", "structis__proto__enum_3_01_1_1_xu_m_q_1_1_delivery_mode_01_4.html", null ], [ "is_proto_enum< ::XuMQ::ExchangeType >", "structis__proto__enum_3_01_1_1_xu_m_q_1_1_exchange_type_01_4.html", null ], [ "QueueTest", "class_queue_test.html", "class_queue_test" ], + [ "RouteTest", "class_route_test.html", "class_route_test" ], [ "TableStruct_msg_2eproto", "struct_table_struct__msg__2eproto.html", "struct_table_struct__msg__2eproto" ], [ "UUIDHelper", "class_u_u_i_d_helper.html", "class_u_u_i_d_helper" ] ]; \ No newline at end of file diff --git a/docs/binding_8hpp.html b/docs/binding_8hpp.html index 4a1a252b..a34fc5ad 100644 --- a/docs/binding_8hpp.html +++ b/docs/binding_8hpp.html @@ -103,6 +103,9 @@
binding.hpp 文件参考
+ +

该文件包含消息队列绑定信息的管理类和结构体定义。 +更多...

#include "../common/logger.hpp"
#include "../common/helper.hpp"
#include "../common/msg.pb.h"
@@ -115,7 +118,7 @@
- + @@ -198,8 +201,8 @@
- - + + @@ -236,7 +239,15 @@  绑定映射表-—交换机->消息队列绑定映射表的映射表
  -
+

详细描述

+

该文件包含消息队列绑定信息的管理类和结构体定义。

+

本模块实现了消息队列与交换机的绑定信息管理,包括持久化管理和内存管理。

+
    +
  1. 该模块主要负责消息队列与交换机之间的绑定关系的维护。
  2. +
  3. 提供了对绑定信息的增删查改接口。
  4. +
  5. 支持将绑定信息持久化到 SQLite 数据库中,以便于重启后恢复状态。
  6. +
+
diff --git a/docs/class_xu_m_q_1_1_str_helper_a09130ed2c6b196410499a6184c9a36e1_icgraph.map b/docs/class_xu_m_q_1_1_str_helper_a09130ed2c6b196410499a6184c9a36e1_icgraph.map index 7f63352c..d9f58f82 100644 --- a/docs/class_xu_m_q_1_1_str_helper_a09130ed2c6b196410499a6184c9a36e1_icgraph.map +++ b/docs/class_xu_m_q_1_1_str_helper_a09130ed2c6b196410499a6184c9a36e1_icgraph.map @@ -1,7 +1,13 @@ - - - - - + + + + + + + + + + + diff --git a/docs/class_xu_m_q_1_1_str_helper_a09130ed2c6b196410499a6184c9a36e1_icgraph.md5 b/docs/class_xu_m_q_1_1_str_helper_a09130ed2c6b196410499a6184c9a36e1_icgraph.md5 index 87844113..33628ca0 100644 --- a/docs/class_xu_m_q_1_1_str_helper_a09130ed2c6b196410499a6184c9a36e1_icgraph.md5 +++ b/docs/class_xu_m_q_1_1_str_helper_a09130ed2c6b196410499a6184c9a36e1_icgraph.md5 @@ -1 +1 @@ -81b589077d2a0eabb3d3a5767fdec834 \ No newline at end of file +99855ae2aff152ed76a74eb145f2ef85 \ No newline at end of file diff --git a/docs/class_xu_m_q_1_1_str_helper_a09130ed2c6b196410499a6184c9a36e1_icgraph.png b/docs/class_xu_m_q_1_1_str_helper_a09130ed2c6b196410499a6184c9a36e1_icgraph.png index 0174d3c4..2d9d15da 100644 Binary files a/docs/class_xu_m_q_1_1_str_helper_a09130ed2c6b196410499a6184c9a36e1_icgraph.png and b/docs/class_xu_m_q_1_1_str_helper_a09130ed2c6b196410499a6184c9a36e1_icgraph.png differ diff --git a/docs/classes.html b/docs/classes.html index 8ee8f870..a7392992 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -99,7 +99,7 @@
类索引
-
B | E | F | H | I | L | M | Q | S | T | U | V | _
+
B | E | F | H | I | L | M | Q | R | S | T | U | V | _
B
@@ -126,18 +126,21 @@
Q
QueueMessage (XuMQ)
QueueTest
+
R
+
Router (XuMQ)
RouteTest
+
S
SqliteHelper (XuMQ)
StrHelper (XuMQ)
-
+
T
TableStruct_msg_2eproto
-
+
U
UUIDHelper
UUIDHelper (XuMQ)
-
+
V
VirtualHost (XuMQ)
-
+
_
BasicProperties::_Internal (XuMQ)
Message::_Internal (XuMQ)
Message_Payload::_Internal (XuMQ)
diff --git a/docs/dir_000003_000000.html b/docs/dir_000003_000000.html index 3d2199f3..e5ba25bc 100644 --- a/docs/dir_000003_000000.html +++ b/docs/dir_000003_000000.html @@ -96,7 +96,7 @@
-

server → common 关系

文件在 server在 common 中引用
binding.hpphelper.hpp
binding.hpplogger.hpp
binding.hppmsg.pb.h
exchange.hpphelper.hpp
exchange.hpplogger.hpp
exchange.hppmsg.pb.h
message.hpphelper.hpp
message.hpplogger.hpp
message.hppmsg.pb.h
queue.hpphelper.hpp
queue.hpplogger.hpp
queue.hppmsg.pb.h
+

server → common 关系

文件在 server在 common 中引用
binding.hpphelper.hpp
binding.hpplogger.hpp
binding.hppmsg.pb.h
exchange.hpphelper.hpp
exchange.hpplogger.hpp
exchange.hppmsg.pb.h
message.hpphelper.hpp
message.hpplogger.hpp
message.hppmsg.pb.h
queue.hpphelper.hpp
queue.hpplogger.hpp
queue.hppmsg.pb.h
route.hpphelper.hpp
route.hpplogger.hpp
route.hppmsg.pb.h
-

test → server 关系

文件在 test在 server 中引用
mqbindingtest.cppbinding.hpp
mqexchangetest.cppexchange.hpp
mqhosttest.cpphost.hpp
mqmessagetest.cppmessage.hpp
mqqueuetest.cppqueue.hpp
+

test → server 关系

文件在 test在 server 中引用
mqbindingtest.cppbinding.hpp
mqexchangetest.cppexchange.hpp
mqhosttest.cpphost.hpp
mqmessagetest.cppmessage.hpp
mqqueuetest.cppqueue.hpp
mqroute.cpproute.hpp
diff --git a/docs/dir_13e138d54eb8818da29c3992edef070a.js b/docs/dir_13e138d54eb8818da29c3992edef070a.js index dd6699d5..816b7da4 100644 --- a/docs/dir_13e138d54eb8818da29c3992edef070a.js +++ b/docs/dir_13e138d54eb8818da29c3992edef070a.js @@ -5,5 +5,6 @@ var dir_13e138d54eb8818da29c3992edef070a = [ "mqfiletest.cpp", "mqfiletest_8cpp.html", "mqfiletest_8cpp" ], [ "mqhosttest.cpp", "mqhosttest_8cpp.html", "mqhosttest_8cpp" ], [ "mqmessagetest.cpp", "mqmessagetest_8cpp.html", "mqmessagetest_8cpp" ], - [ "mqqueuetest.cpp", "mqqueuetest_8cpp.html", "mqqueuetest_8cpp" ] + [ "mqqueuetest.cpp", "mqqueuetest_8cpp.html", "mqqueuetest_8cpp" ], + [ "mqroute.cpp", "mqroute_8cpp.html", "mqroute_8cpp" ] ]; \ No newline at end of file diff --git a/docs/dir_13e138d54eb8818da29c3992edef070a_dep.map b/docs/dir_13e138d54eb8818da29c3992edef070a_dep.map index 33bf41ea..d76149be 100644 --- a/docs/dir_13e138d54eb8818da29c3992edef070a_dep.map +++ b/docs/dir_13e138d54eb8818da29c3992edef070a_dep.map @@ -2,7 +2,7 @@ - + diff --git a/docs/dir_13e138d54eb8818da29c3992edef070a_dep.md5 b/docs/dir_13e138d54eb8818da29c3992edef070a_dep.md5 index 9a8949f5..b0a13cd8 100644 --- a/docs/dir_13e138d54eb8818da29c3992edef070a_dep.md5 +++ b/docs/dir_13e138d54eb8818da29c3992edef070a_dep.md5 @@ -1 +1 @@ -0aefd4e400b1eb0a2a1d664db04a6dfb \ No newline at end of file +b6e1de3f0f3c5604a22aeaa5ceb3fc72 \ No newline at end of file diff --git a/docs/dir_13e138d54eb8818da29c3992edef070a_dep.png b/docs/dir_13e138d54eb8818da29c3992edef070a_dep.png index d3676251..b51c2b2b 100644 Binary files a/docs/dir_13e138d54eb8818da29c3992edef070a_dep.png and b/docs/dir_13e138d54eb8818da29c3992edef070a_dep.png differ diff --git a/docs/dir_41e1742e44e2de38b3bc91f993fed282.html b/docs/dir_41e1742e44e2de38b3bc91f993fed282.html index 18bce29e..c0d4d90b 100644 --- a/docs/dir_41e1742e44e2de38b3bc91f993fed282.html +++ b/docs/dir_41e1742e44e2de38b3bc91f993fed282.html @@ -107,18 +107,20 @@ - + + + @@ -126,6 +128,8 @@ + +

文件

 binding.hpp
 该文件包含消息队列绑定信息的管理类和结构体定义。
 
 exchange.hpp
 交换机管理模块,定义了交换机的结构、持久化以及内存管理功能
 
 host.hpp
 XuMQ 虚拟机模块定义
 
 message.hpp
 消息队列文件存储的实现
 queue.hpp
 消息队列模块的定义和实现
 
 route.hpp
 
diff --git a/docs/dir_41e1742e44e2de38b3bc91f993fed282.js b/docs/dir_41e1742e44e2de38b3bc91f993fed282.js index c2493542..6b8d9385 100644 --- a/docs/dir_41e1742e44e2de38b3bc91f993fed282.js +++ b/docs/dir_41e1742e44e2de38b3bc91f993fed282.js @@ -4,5 +4,6 @@ var dir_41e1742e44e2de38b3bc91f993fed282 = [ "exchange.hpp", "exchange_8hpp.html", "exchange_8hpp" ], [ "host.hpp", "host_8hpp.html", "host_8hpp" ], [ "message.hpp", "message_8hpp.html", "message_8hpp" ], - [ "queue.hpp", "queue_8hpp.html", "queue_8hpp" ] + [ "queue.hpp", "queue_8hpp.html", "queue_8hpp" ], + [ "route.hpp", "route_8hpp.html", "route_8hpp" ] ]; \ No newline at end of file diff --git a/docs/dir_41e1742e44e2de38b3bc91f993fed282_dep.map b/docs/dir_41e1742e44e2de38b3bc91f993fed282_dep.map index f48037cf..bac82cd8 100644 --- a/docs/dir_41e1742e44e2de38b3bc91f993fed282_dep.map +++ b/docs/dir_41e1742e44e2de38b3bc91f993fed282_dep.map @@ -2,5 +2,5 @@ - + diff --git a/docs/dir_41e1742e44e2de38b3bc91f993fed282_dep.md5 b/docs/dir_41e1742e44e2de38b3bc91f993fed282_dep.md5 index 00e17de8..e21c9994 100644 --- a/docs/dir_41e1742e44e2de38b3bc91f993fed282_dep.md5 +++ b/docs/dir_41e1742e44e2de38b3bc91f993fed282_dep.md5 @@ -1 +1 @@ -993250040fee030346089fd9072fa3e4 \ No newline at end of file +0e35ca977fa2ea1199d3104add7c8bce \ No newline at end of file diff --git a/docs/dir_41e1742e44e2de38b3bc91f993fed282_dep.png b/docs/dir_41e1742e44e2de38b3bc91f993fed282_dep.png index 94b2988b..89f12e30 100644 Binary files a/docs/dir_41e1742e44e2de38b3bc91f993fed282_dep.png and b/docs/dir_41e1742e44e2de38b3bc91f993fed282_dep.png differ diff --git a/docs/exchange_8hpp.html b/docs/exchange_8hpp.html index 8d266afe..e53c6a93 100644 --- a/docs/exchange_8hpp.html +++ b/docs/exchange_8hpp.html @@ -202,7 +202,7 @@
- + diff --git a/docs/exchange_8hpp__dep__incl.map b/docs/exchange_8hpp__dep__incl.map index 79ce5585..d3631a22 100644 --- a/docs/exchange_8hpp__dep__incl.map +++ b/docs/exchange_8hpp__dep__incl.map @@ -1,6 +1,6 @@ - + diff --git a/docs/exchange_8hpp__dep__incl.md5 b/docs/exchange_8hpp__dep__incl.md5 index 4c71eab9..a216b2df 100644 --- a/docs/exchange_8hpp__dep__incl.md5 +++ b/docs/exchange_8hpp__dep__incl.md5 @@ -1 +1 @@ -bb3096ede5eab7e0362cb00d22ffab78 \ No newline at end of file +635b0edcfe1fbbed48a08e3bd8c967d1 \ No newline at end of file diff --git a/docs/files.html b/docs/files.html index e5f2faf8..a1e64811 100644 --- a/docs/files.html +++ b/docs/files.html @@ -112,18 +112,20 @@   split  split.cpp   server - binding.hpp + binding.hpp该文件包含消息队列绑定信息的管理类和结构体定义。  exchange.hpp交换机管理模块,定义了交换机的结构、持久化以及内存管理功能 - host.hpp + host.hppXuMQ 虚拟机模块定义  message.hpp消息队列文件存储的实现  queue.hpp消息队列模块的定义和实现 -  test - mqbindingtest.cpp - mqexchangetest.cpp - mqfiletest.cpp - mqhosttest.cpp - mqmessagetest.cpp - mqqueuetest.cpp + route.hpp +  test + mqbindingtest.cpp + mqexchangetest.cpp + mqfiletest.cpp + mqhosttest.cpp + mqmessagetest.cpp + mqqueuetest.cpp + mqroute.cpp diff --git a/docs/functions_func_i.html b/docs/functions_func_i.html index 8899fc43..09847d29 100644 --- a/docs/functions_func_i.html +++ b/docs/functions_func_i.html @@ -105,6 +105,8 @@

- i -

diff --git a/docs/functions_func_r.html b/docs/functions_func_r.html index 8270a144..1d928f72 100644 --- a/docs/functions_func_r.html +++ b/docs/functions_func_r.html @@ -116,6 +116,7 @@

- r -

diff --git a/docs/functions_func_s.html b/docs/functions_func_s.html index 2692e659..a7c530aa 100644 --- a/docs/functions_func_s.html +++ b/docs/functions_func_s.html @@ -117,7 +117,7 @@

- s -