rocketmq_client_v4/protocols/body/
subscription_data.rs1use crate::protocols::get_current_time_millis;
2use serde::Serialize;
3
4#[derive(Debug, Serialize, Eq, PartialEq, Hash)]
5#[allow(non_snake_case)]
6pub struct SubscriptionData {
7 pub classFilterMode: bool,
18 pub topic: String,
19 pub subString: String,
20 pub tagsSet: Vec<String>,
21 pub codeSet: Vec<i32>,
22 pub subVersion: i64,
23 pub expressionType: String,
24 pub filterClassSource: String,
25}
26
27impl SubscriptionData {
28 pub fn simple_new(topic: String) -> Self {
29 SubscriptionData {
30 classFilterMode: false,
31 topic,
32 subString: "*".to_string(),
33 tagsSet: vec![],
34 codeSet: vec![],
35 subVersion: get_current_time_millis(),
36 expressionType: "TAG".to_string(),
37 filterClassSource: "".to_string(),
38 }
39 }
40}