1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// Copyright 2023 The RocketMQ Rust Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//! Type definitions for MQClientInstance internal tables
//!
//! This module defines type aliases for the complex concurrent data structures
//! used in MQClientInstance to manage producers, consumers, brokers, and topics.
//!
//! The semantic string type aliases (ProducerGroupName, ConsumerGroupName, TopicName, etc.)
//! are defined in the `crate::types` module.
use HashMap;
use Arc;
use DashMap;
use MessageQueue;
use TopicRouteData;
use crateMQAdminExtInnerImpl;
use crateMQConsumerInnerImpl;
use crateMQProducerInnerImpl;
use crateAdminGroupName;
use crateBrokerAddr;
use crateBrokerName;
use crateConsumerGroupName;
use crateProducerGroupName;
use crateTopicName;
// ===== Table Type Aliases =====
/// Container for registered producers, indexed by producer group name.
pub type ProducerTable = ;
/// Container for registered consumers, indexed by consumer group name.
pub type ConsumerTable = ;
/// Container for registered admin extensions, indexed by admin group name.
pub type AdminExtTable = ;
/// Topic routing information table.
/// Maps topic name to its routing data (broker addresses, queue configuration, etc.).
pub type TopicRouteTable = ;
/// Topic endpoint mapping table for static topics.
/// Maps topic name to a mapping of message queues to their broker names.
pub type TopicEndPointsTable = ;
/// Broker address table.
/// Maps broker name to a mapping of broker ID to broker address.
/// Broker ID 0 is master, others are slaves.
pub type BrokerAddrTable = ;
/// Broker version table.
/// Maps broker name to a mapping of broker address to version code.
pub type BrokerVersionTable = ;
/// Broker heartbeat fingerprint cache for HeartbeatV2 protocol.
/// Maps broker address to the last heartbeat fingerprint value.
/// Used to optimize heartbeat by sending minimal data when fingerprint unchanged.
pub type BrokerHeartbeatFingerprintTable = ;
/// Set of brokers that support HeartbeatV2 protocol.
/// Maps broker address to unit value (used as a set).
pub type BrokerSupportV2HeartbeatSet = ;