rocketmq_protocol/protocol/body/
subscription_group_wrapper.rs1use std::collections::HashMap;
16
17use cheetah_string::CheetahString;
18use serde::Deserialize;
19use serde::Serialize;
20
21use crate::protocol::subscription::subscription_group_config::SubscriptionGroupConfig;
22use crate::protocol::DataVersion;
23
24#[derive(Debug, Clone, Serialize, Deserialize, Default)]
25#[serde(rename_all = "camelCase")]
26pub struct SubscriptionGroupWrapper {
27 pub subscription_group_table: HashMap<CheetahString, SubscriptionGroupConfig>,
28 pub forbidden_table: HashMap<CheetahString, HashMap<CheetahString, i32>>,
29 pub data_version: DataVersion,
30}
31
32impl SubscriptionGroupWrapper {
33 pub fn get_subscription_group_table(&self) -> &HashMap<CheetahString, SubscriptionGroupConfig> {
34 &self.subscription_group_table
35 }
36
37 pub fn get_subscription_group_table_mut(&mut self) -> &mut HashMap<CheetahString, SubscriptionGroupConfig> {
38 &mut self.subscription_group_table
39 }
40
41 pub fn data_version(&self) -> &DataVersion {
42 &self.data_version
43 }
44}