1use std::collections::HashMap;
16use std::collections::HashSet;
17
18use cheetah_string::CheetahString;
19use rocketmq_common::common::base::plain_access_config::PlainAccessConfig;
20use rocketmq_common::common::config::TopicConfig;
21use rocketmq_common::common::message::message_enum::MessageRequestMode;
22use rocketmq_common::common::message::message_ext::MessageExt;
23use rocketmq_common::common::message::message_queue::MessageQueue;
24#[allow(deprecated)]
25use rocketmq_common::common::tools::broker_operator_result::BrokerOperatorResult;
26#[allow(deprecated)]
27use rocketmq_common::common::tools::message_track::MessageTrack;
28use rocketmq_remoting::protocol::admin::consume_stats::ConsumeStats;
29use rocketmq_remoting::protocol::admin::consume_stats_list::ConsumeStatsList;
30use rocketmq_remoting::protocol::admin::rollback_stats::RollbackStats;
31use rocketmq_remoting::protocol::admin::topic_stats_table::TopicStatsTable;
32use rocketmq_remoting::protocol::body::acl_info::AclInfo;
33use rocketmq_remoting::protocol::body::broker_body::broker_member_group::BrokerMemberGroup;
34use rocketmq_remoting::protocol::body::broker_body::cluster_info::ClusterInfo;
35use rocketmq_remoting::protocol::body::broker_replicas_info::BrokerReplicasInfo;
36use rocketmq_remoting::protocol::body::check_rocksdb_cqwrite_progress_response_body::CheckRocksdbCqWriteResult;
37use rocketmq_remoting::protocol::body::consume_message_directly_result::ConsumeMessageDirectlyResult;
38use rocketmq_remoting::protocol::body::consumer_connection::ConsumerConnection;
39use rocketmq_remoting::protocol::body::consumer_running_info::ConsumerRunningInfo;
40use rocketmq_remoting::protocol::body::epoch_entry_cache::EpochEntryCache;
41use rocketmq_remoting::protocol::body::get_broker_lite_info_response_body::GetBrokerLiteInfoResponseBody;
42use rocketmq_remoting::protocol::body::get_lite_client_info_response_body::GetLiteClientInfoResponseBody;
43use rocketmq_remoting::protocol::body::get_lite_group_info_response_body::GetLiteGroupInfoResponseBody;
44use rocketmq_remoting::protocol::body::get_lite_topic_info_response_body::GetLiteTopicInfoResponseBody;
45use rocketmq_remoting::protocol::body::get_parent_topic_info_response_body::GetParentTopicInfoResponseBody;
46use rocketmq_remoting::protocol::body::group_list::GroupList;
47use rocketmq_remoting::protocol::body::ha_runtime_info::HARuntimeInfo;
48use rocketmq_remoting::protocol::body::kv_table::KVTable;
49use rocketmq_remoting::protocol::body::producer_connection::ProducerConnection;
50use rocketmq_remoting::protocol::body::producer_table_info::ProducerTableInfo;
51use rocketmq_remoting::protocol::body::query_consume_queue_response_body::QueryConsumeQueueResponseBody;
52use rocketmq_remoting::protocol::body::queue_time_span::QueueTimeSpan;
53use rocketmq_remoting::protocol::body::subscription_group_wrapper::SubscriptionGroupWrapper;
54use rocketmq_remoting::protocol::body::topic::topic_list::TopicList;
55use rocketmq_remoting::protocol::body::topic_info_wrapper::TopicConfigSerializeWrapper;
56use rocketmq_remoting::protocol::body::user_info::UserInfo;
57use rocketmq_remoting::protocol::header::elect_master_response_header::ElectMasterResponseHeader;
58use rocketmq_remoting::protocol::header::get_meta_data_response_header::GetMetaDataResponseHeader;
59use rocketmq_remoting::protocol::heartbeat::subscription_data::SubscriptionData;
60use rocketmq_remoting::protocol::route::topic_route_data::TopicRouteData;
61use rocketmq_remoting::protocol::static_topic::topic_queue_mapping_detail::TopicQueueMappingDetail;
62use rocketmq_remoting::protocol::subscription::broker_stats_data::BrokerStatsData;
63use rocketmq_remoting::protocol::subscription::group_forbidden::GroupForbidden;
64use rocketmq_remoting::protocol::subscription::subscription_group_config::SubscriptionGroupConfig;
65
66use crate::common::admin_tool_result::AdminToolResult;
67
68#[allow(dead_code)]
69#[allow(async_fn_in_trait)]
70pub trait MQAdminExt: Send {
71 async fn start(&mut self) -> rocketmq_error::RocketMQResult<()>;
72 async fn shutdown(&mut self);
73 async fn add_broker_to_container(
74 &self,
75 broker_container_addr: CheetahString,
76 broker_config: CheetahString,
77 ) -> rocketmq_error::RocketMQResult<()>;
78
79 async fn remove_broker_from_container(
80 &self,
81 broker_container_addr: CheetahString,
82 cluster_name: CheetahString,
83 broker_name: CheetahString,
84 broker_id: u64,
85 ) -> rocketmq_error::RocketMQResult<()>;
86
87 async fn update_broker_config(
88 &self,
89 broker_addr: CheetahString,
90 properties: HashMap<CheetahString, CheetahString>,
91 ) -> rocketmq_error::RocketMQResult<()>;
92
93 async fn get_broker_config(
94 &self,
95 broker_addr: CheetahString,
96 ) -> rocketmq_error::RocketMQResult<HashMap<CheetahString, CheetahString>>;
97
98 async fn create_and_update_topic_config(
99 &self,
100 addr: CheetahString,
101 config: TopicConfig,
102 ) -> rocketmq_error::RocketMQResult<()>;
103
104 async fn create_and_update_topic_config_list(
105 &self,
106 addr: CheetahString,
107 topic_config_list: Vec<TopicConfig>,
108 ) -> rocketmq_error::RocketMQResult<()>;
109
110 async fn create_and_update_plain_access_config(
111 &self,
112 addr: CheetahString,
113 config: PlainAccessConfig,
114 ) -> rocketmq_error::RocketMQResult<()>;
115
116 async fn delete_plain_access_config(
117 &self,
118 addr: CheetahString,
119 access_key: CheetahString,
120 ) -> rocketmq_error::RocketMQResult<()>;
121
122 async fn update_global_white_addr_config(
123 &self,
124 addr: CheetahString,
125 global_white_addrs: CheetahString,
126 acl_file_full_path: Option<CheetahString>,
127 ) -> rocketmq_error::RocketMQResult<()>;
128
129 async fn examine_broker_cluster_acl_version_info(
130 &self,
131 addr: CheetahString,
132 ) -> rocketmq_error::RocketMQResult<CheetahString>;
133
134 async fn create_and_update_subscription_group_config(
135 &self,
136 addr: CheetahString,
137 config: SubscriptionGroupConfig,
138 ) -> rocketmq_error::RocketMQResult<()>;
139
140 async fn create_and_update_subscription_group_config_list(
141 &self,
142 broker_addr: CheetahString,
143 configs: Vec<SubscriptionGroupConfig>,
144 ) -> rocketmq_error::RocketMQResult<()>;
145
146 async fn examine_subscription_group_config(
147 &self,
148 addr: CheetahString,
149 group: CheetahString,
150 ) -> rocketmq_error::RocketMQResult<SubscriptionGroupConfig>;
151
152 async fn examine_topic_stats(
153 &self,
154 topic: CheetahString,
155 broker_addr: Option<CheetahString>,
156 ) -> rocketmq_error::RocketMQResult<TopicStatsTable>;
157
158 async fn examine_topic_stats_concurrent(&self, topic: CheetahString) -> AdminToolResult<TopicStatsTable>;
159
160 async fn fetch_all_topic_list(&self) -> rocketmq_error::RocketMQResult<TopicList>;
161
162 async fn fetch_topics_by_cluster(&self, cluster_name: CheetahString) -> rocketmq_error::RocketMQResult<TopicList>;
163
164 async fn fetch_broker_runtime_stats(&self, broker_addr: CheetahString) -> rocketmq_error::RocketMQResult<KVTable>;
165
166 async fn examine_consume_stats(
167 &self,
168 consumer_group: CheetahString,
169 topic: Option<CheetahString>,
170 cluster_name: Option<CheetahString>,
171 broker_addr: Option<CheetahString>,
172 timeout_millis: Option<u64>,
173 ) -> rocketmq_error::RocketMQResult<ConsumeStats>;
174
175 async fn check_rocksdb_cq_write_progress(
176 &self,
177 broker_addr: CheetahString,
178 topic: CheetahString,
179 check_store_time: i64,
180 ) -> rocketmq_error::RocketMQResult<CheckRocksdbCqWriteResult>;
181
182 async fn examine_broker_cluster_info(&self) -> rocketmq_error::RocketMQResult<ClusterInfo>;
183
184 async fn examine_topic_route_info(
185 &self,
186 topic: CheetahString,
187 ) -> rocketmq_error::RocketMQResult<Option<TopicRouteData>>;
188
189 async fn examine_consumer_connection_info(
190 &self,
191 consumer_group: CheetahString,
192 broker_addr: Option<CheetahString>,
193 ) -> rocketmq_error::RocketMQResult<ConsumerConnection>;
194
195 async fn examine_producer_connection_info(
196 &self,
197 producer_group: CheetahString,
198 topic: CheetahString,
199 ) -> rocketmq_error::RocketMQResult<ProducerConnection>;
200
201 async fn get_all_producer_info(
202 &self,
203 broker_addr: CheetahString,
204 ) -> rocketmq_error::RocketMQResult<ProducerTableInfo>;
205
206 async fn get_name_server_address_list(&self) -> Vec<CheetahString>;
207
208 async fn wipe_write_perm_of_broker(
209 &self,
210 namesrv_addr: CheetahString,
211 broker_name: CheetahString,
212 ) -> rocketmq_error::RocketMQResult<i32>;
213
214 async fn add_write_perm_of_broker(
215 &self,
216 namesrv_addr: CheetahString,
217 broker_name: CheetahString,
218 ) -> rocketmq_error::RocketMQResult<i32>;
219
220 async fn put_kv_config(&self, namespace: CheetahString, key: CheetahString, value: CheetahString);
221
222 async fn get_kv_config(
223 &self,
224 namespace: CheetahString,
225 key: CheetahString,
226 ) -> rocketmq_error::RocketMQResult<CheetahString>;
227
228 async fn get_kv_list_by_namespace(&self, namespace: CheetahString) -> rocketmq_error::RocketMQResult<KVTable>;
229
230 async fn delete_topic(
231 &self,
232 topic_name: CheetahString,
233 cluster_name: CheetahString,
234 ) -> rocketmq_error::RocketMQResult<()>;
235
236 async fn delete_topic_in_broker(
237 &self,
238 addrs: HashSet<CheetahString>,
239 topic: CheetahString,
240 ) -> rocketmq_error::RocketMQResult<()>;
241 #[allow(deprecated)]
242 async fn delete_topic_in_broker_concurrent(
243 &self,
244 addrs: HashSet<CheetahString>,
245 topic: CheetahString,
246 ) -> AdminToolResult<BrokerOperatorResult>;
247
248 async fn delete_topic_in_name_server(
249 &self,
250 addrs: HashSet<CheetahString>,
251 cluster_name: Option<CheetahString>,
252 topic: CheetahString,
253 ) -> rocketmq_error::RocketMQResult<()>;
254
255 async fn delete_subscription_group(
256 &self,
257 addr: CheetahString,
258 group_name: CheetahString,
259 remove_offset: Option<bool>,
260 ) -> rocketmq_error::RocketMQResult<()>;
261
262 async fn create_and_update_kv_config(
263 &self,
264 namespace: CheetahString,
265 key: CheetahString,
266 value: CheetahString,
267 ) -> rocketmq_error::RocketMQResult<()>;
268
269 async fn delete_kv_config(
270 &self,
271 namespace: CheetahString,
272 key: CheetahString,
273 ) -> rocketmq_error::RocketMQResult<()>;
274
275 async fn reset_offset_by_timestamp_old(
276 &self,
277 cluster_name: Option<CheetahString>,
278 consumer_group: CheetahString,
279 topic: CheetahString,
280 timestamp: u64,
281 force: bool,
282 ) -> rocketmq_error::RocketMQResult<Vec<RollbackStats>>;
283
284 async fn reset_offset_by_timestamp(
285 &self,
286 cluster_name: Option<CheetahString>,
287 topic: CheetahString,
288 group: CheetahString,
289 timestamp: u64,
290 is_force: bool,
291 ) -> rocketmq_error::RocketMQResult<HashMap<MessageQueue, u64>>;
292
293 async fn reset_offset_new(
294 &self,
295 consumer_group: CheetahString,
296 topic: CheetahString,
297 timestamp: u64,
298 ) -> rocketmq_error::RocketMQResult<()>;
299 #[allow(deprecated)]
300 async fn reset_offset_new_concurrent(
301 &self,
302 group: CheetahString,
303 topic: CheetahString,
304 timestamp: u64,
305 ) -> AdminToolResult<BrokerOperatorResult>;
306
307 async fn get_consume_status(
308 &self,
309 topic: CheetahString,
310 group: CheetahString,
311 client_addr: CheetahString,
312 ) -> rocketmq_error::RocketMQResult<HashMap<CheetahString, HashMap<MessageQueue, u64>>>;
313
314 async fn create_or_update_order_conf(
315 &self,
316 key: CheetahString,
317 value: CheetahString,
318 is_cluster: bool,
319 ) -> rocketmq_error::RocketMQResult<()>;
320
321 async fn query_topic_consume_by_who(&self, topic: CheetahString) -> rocketmq_error::RocketMQResult<GroupList>;
322
323 async fn query_topics_by_consumer(&self, group: CheetahString) -> rocketmq_error::RocketMQResult<TopicList>;
324
325 async fn query_topics_by_consumer_concurrent(&self, group: CheetahString) -> AdminToolResult<TopicList>;
326
327 async fn query_subscription(
328 &self,
329 group: CheetahString,
330 topic: CheetahString,
331 ) -> rocketmq_error::RocketMQResult<SubscriptionData>;
332
333 async fn query_consume_time_span(
334 &self,
335 topic: CheetahString,
336 group: CheetahString,
337 ) -> rocketmq_error::RocketMQResult<Vec<QueueTimeSpan>>;
338
339 async fn query_consume_time_span_concurrent(
340 &self,
341 topic: CheetahString,
342 group: CheetahString,
343 ) -> AdminToolResult<Vec<QueueTimeSpan>>;
344
345 async fn clean_expired_consumer_queue(
346 &self,
347 cluster: Option<CheetahString>,
348 addr: Option<CheetahString>,
349 ) -> rocketmq_error::RocketMQResult<bool>;
350
351 async fn clean_expired_consumer_queue_by_addr(&self, addr: CheetahString) -> rocketmq_error::RocketMQResult<bool>;
352
353 async fn delete_expired_commit_log(
354 &self,
355 cluster: Option<CheetahString>,
356 addr: Option<CheetahString>,
357 ) -> rocketmq_error::RocketMQResult<bool>;
358
359 async fn delete_expired_commit_log_by_addr(&self, addr: CheetahString) -> rocketmq_error::RocketMQResult<bool>;
360
361 async fn clean_unused_topic(
362 &self,
363 cluster: Option<CheetahString>,
364 addr: Option<CheetahString>,
365 ) -> rocketmq_error::RocketMQResult<bool>;
366
367 async fn clean_unused_topic_by_addr(&self, addr: CheetahString) -> rocketmq_error::RocketMQResult<bool>;
368
369 async fn get_consumer_running_info(
370 &self,
371 consumer_group: CheetahString,
372 client_id: CheetahString,
373 jstack: bool,
374 metrics: Option<bool>,
375 ) -> rocketmq_error::RocketMQResult<ConsumerRunningInfo>;
376
377 async fn consume_message_directly(
378 &self,
379 consumer_group: CheetahString,
380 client_id: CheetahString,
381 topic: CheetahString,
382 msg_id: CheetahString,
383 ) -> rocketmq_error::RocketMQResult<ConsumeMessageDirectlyResult>;
384
385 async fn consume_message_directly_ext(
386 &self,
387 cluster_name: CheetahString,
388 consumer_group: CheetahString,
389 client_id: CheetahString,
390 topic: CheetahString,
391 msg_id: CheetahString,
392 ) -> rocketmq_error::RocketMQResult<ConsumeMessageDirectlyResult>;
393 #[allow(deprecated)]
394 async fn message_track_detail(&self, msg: MessageExt) -> rocketmq_error::RocketMQResult<Vec<MessageTrack>>;
395 #[allow(deprecated)]
396 async fn message_track_detail_concurrent(&self, msg: MessageExt) -> AdminToolResult<Vec<MessageTrack>>;
397
398 async fn clone_group_offset(
399 &self,
400 src_group: CheetahString,
401 dest_group: CheetahString,
402 topic: CheetahString,
403 is_offline: bool,
404 ) -> rocketmq_error::RocketMQResult<()>;
405
406 async fn view_broker_stats_data(
407 &self,
408 broker_addr: CheetahString,
409 stats_name: CheetahString,
410 stats_key: CheetahString,
411 ) -> rocketmq_error::RocketMQResult<BrokerStatsData>;
412
413 async fn get_cluster_list(&self, topic: String) -> rocketmq_error::RocketMQResult<HashSet<CheetahString>>;
414
415 async fn fetch_consume_stats_in_broker(
416 &self,
417 broker_addr: CheetahString,
418 is_order: bool,
419 timeout_millis: u64,
420 ) -> rocketmq_error::RocketMQResult<ConsumeStatsList>;
421
422 async fn get_topic_cluster_list(&self, topic: String) -> rocketmq_error::RocketMQResult<HashSet<CheetahString>>;
423
424 async fn get_all_subscription_group(
425 &self,
426 broker_addr: CheetahString,
427 timeout_millis: u64,
428 ) -> rocketmq_error::RocketMQResult<SubscriptionGroupWrapper>;
429
430 async fn get_user_subscription_group(
431 &self,
432 broker_addr: CheetahString,
433 timeout_millis: u64,
434 ) -> rocketmq_error::RocketMQResult<SubscriptionGroupWrapper>;
435
436 async fn get_all_topic_config(
437 &self,
438 broker_addr: CheetahString,
439 timeout_millis: u64,
440 ) -> rocketmq_error::RocketMQResult<TopicConfigSerializeWrapper>;
441
442 async fn get_user_topic_config(
443 &self,
444 broker_addr: CheetahString,
445 special_topic: bool,
446 timeout_millis: u64,
447 ) -> rocketmq_error::RocketMQResult<TopicConfigSerializeWrapper>;
448
449 async fn update_consume_offset(
450 &self,
451 broker_addr: CheetahString,
452 consume_group: CheetahString,
453 mq: MessageQueue,
454 offset: u64,
455 ) -> rocketmq_error::RocketMQResult<()>;
456
457 async fn update_name_server_config(
458 &self,
459 properties: HashMap<CheetahString, CheetahString>,
460 name_servers: Option<Vec<CheetahString>>,
461 ) -> rocketmq_error::RocketMQResult<()>;
462
463 async fn get_name_server_config(
464 &self,
465 name_servers: Vec<CheetahString>,
466 ) -> rocketmq_error::RocketMQResult<HashMap<CheetahString, HashMap<CheetahString, CheetahString>>>;
467
468 async fn probe_name_server(&self, name_server: CheetahString) -> rocketmq_error::RocketMQResult<()>;
469
470 async fn query_consume_queue(
471 &self,
472 broker_addr: CheetahString,
473 topic: CheetahString,
474 queue_id: i32,
475 index: u64,
476 count: i32,
477 consumer_group: CheetahString,
478 ) -> rocketmq_error::RocketMQResult<QueryConsumeQueueResponseBody>;
479
480 async fn resume_check_half_message(
481 &self,
482 topic: CheetahString,
483 msg_id: CheetahString,
484 ) -> rocketmq_error::RocketMQResult<bool>;
485
486 async fn set_message_request_mode(
487 &self,
488 broker_addr: CheetahString,
489 topic: CheetahString,
490 consumer_group: CheetahString,
491 mode: MessageRequestMode,
492 pop_work_group_size: i32,
493 timeout_millis: u64,
494 ) -> rocketmq_error::RocketMQResult<()>;
495
496 async fn reset_offset_by_queue_id(
497 &self,
498 broker_addr: CheetahString,
499 consumer_group: CheetahString,
500 topic_name: CheetahString,
501 queue_id: i32,
502 reset_offset: u64,
503 ) -> rocketmq_error::RocketMQResult<()>;
504
505 async fn examine_topic_config(
506 &self,
507 addr: CheetahString,
508 topic: CheetahString,
509 ) -> rocketmq_error::RocketMQResult<TopicConfig>;
510
511 async fn create_static_topic(
512 &self,
513 addr: CheetahString,
514 default_topic: CheetahString,
515 topic_config: TopicConfig,
516 mapping_detail: TopicQueueMappingDetail,
517 force: bool,
518 ) -> rocketmq_error::RocketMQResult<()>;
519
520 async fn update_and_get_group_read_forbidden(
521 &self,
522 broker_addr: CheetahString,
523 group_name: CheetahString,
524 topic_name: CheetahString,
525 readable: Option<bool>,
526 ) -> rocketmq_error::RocketMQResult<GroupForbidden>;
527
528 async fn query_message(
529 &self,
530 cluster_name: CheetahString,
531 topic: CheetahString,
532 msg_id: CheetahString,
533 ) -> rocketmq_error::RocketMQResult<MessageExt>;
534
535 async fn get_broker_ha_status(&self, broker_addr: CheetahString) -> rocketmq_error::RocketMQResult<HARuntimeInfo>;
536
537 async fn get_in_sync_state_data(
538 &self,
539 controller_address: CheetahString,
540 brokers: Vec<CheetahString>,
541 ) -> rocketmq_error::RocketMQResult<BrokerReplicasInfo>;
542
543 async fn get_broker_epoch_cache(
544 &self,
545 broker_addr: CheetahString,
546 ) -> rocketmq_error::RocketMQResult<EpochEntryCache>;
547
548 async fn get_controller_meta_data(
549 &self,
550 controller_addr: CheetahString,
551 ) -> rocketmq_error::RocketMQResult<GetMetaDataResponseHeader>;
552
553 async fn reset_master_flush_offset(
554 &self,
555 broker_addr: CheetahString,
556 master_flush_offset: u64,
557 ) -> rocketmq_error::RocketMQResult<()>;
558
559 async fn get_controller_config(
560 &self,
561 controller_servers: Vec<CheetahString>,
562 ) -> rocketmq_error::RocketMQResult<HashMap<CheetahString, HashMap<CheetahString, CheetahString>>>;
563
564 async fn update_controller_config(
565 &self,
566 properties: HashMap<CheetahString, CheetahString>,
567 controllers: Vec<CheetahString>,
568 ) -> rocketmq_error::RocketMQResult<()>;
569
570 async fn elect_master(
571 &self,
572 controller_addr: CheetahString,
573 cluster_name: CheetahString,
574 broker_name: CheetahString,
575 broker_id: Option<u64>,
576 ) -> rocketmq_error::RocketMQResult<(ElectMasterResponseHeader, BrokerMemberGroup)>;
577
578 async fn clean_controller_broker_data(
579 &self,
580 controller_addr: CheetahString,
581 cluster_name: CheetahString,
582 broker_name: CheetahString,
583 broker_controller_ids_to_clean: Option<CheetahString>,
584 is_clean_living_broker: bool,
585 ) -> rocketmq_error::RocketMQResult<()>;
586
587 async fn update_cold_data_flow_ctr_group_config(
588 &self,
589 broker_addr: CheetahString,
590 properties: HashMap<CheetahString, CheetahString>,
591 ) -> rocketmq_error::RocketMQResult<()>;
592
593 async fn remove_cold_data_flow_ctr_group_config(
594 &self,
595 broker_addr: CheetahString,
596 consumer_group: CheetahString,
597 ) -> rocketmq_error::RocketMQResult<()>;
598
599 async fn get_cold_data_flow_ctr_info(
600 &self,
601 broker_addr: CheetahString,
602 ) -> rocketmq_error::RocketMQResult<CheetahString>;
603
604 async fn set_commit_log_read_ahead_mode(
605 &self,
606 broker_addr: CheetahString,
607 mode: CheetahString,
608 ) -> rocketmq_error::RocketMQResult<CheetahString>;
609
610 async fn create_user(
611 &self,
612 broker_addr: CheetahString,
613 username: CheetahString,
614 password: CheetahString,
615 user_type: CheetahString,
616 ) -> rocketmq_error::RocketMQResult<()>;
617
618 async fn create_user_with_info(
619 &self,
620 broker_addr: CheetahString,
621 username: CheetahString,
622 password: CheetahString,
623 ) -> rocketmq_error::RocketMQResult<()>;
624
625 async fn update_user(
626 &self,
627 broker_addr: CheetahString,
628 username: CheetahString,
629 password: CheetahString,
630 user_type: CheetahString,
631 user_status: CheetahString,
632 ) -> rocketmq_error::RocketMQResult<()>;
633
634 async fn update_user_with_info(
635 &self,
636 broker_addr: CheetahString,
637 username: CheetahString,
638 password: CheetahString,
639 ) -> rocketmq_error::RocketMQResult<()>;
640
641 async fn delete_user(
642 &self,
643 broker_addr: CheetahString,
644 username: CheetahString,
645 ) -> rocketmq_error::RocketMQResult<()>;
646
647 async fn get_user(
648 &self,
649 broker_addr: CheetahString,
650 username: CheetahString,
651 ) -> rocketmq_error::RocketMQResult<Option<UserInfo>>;
652
653 async fn list_users(
654 &self,
655 broker_addr: CheetahString,
656 filter: CheetahString,
657 ) -> rocketmq_error::RocketMQResult<Vec<UserInfo>>;
658
659 async fn list_user(
660 &self,
661 broker_addr: CheetahString,
662 filter: CheetahString,
663 ) -> rocketmq_error::RocketMQResult<Vec<UserInfo>> {
664 self.list_users(broker_addr, filter).await
665 }
666
667 async fn create_acl(
668 &self,
669 broker_addr: CheetahString,
670 subject: CheetahString,
671 resources: Vec<CheetahString>,
672 actions: Vec<CheetahString>,
673 source_ips: Vec<CheetahString>,
674 decision: CheetahString,
675 ) -> rocketmq_error::RocketMQResult<()>;
676
677 async fn create_acl_with_info(
678 &self,
679 broker_addr: CheetahString,
680 subject: CheetahString,
681 ) -> rocketmq_error::RocketMQResult<()>;
682
683 async fn update_acl(
684 &self,
685 broker_addr: CheetahString,
686 subject: CheetahString,
687 resources: Vec<CheetahString>,
688 actions: Vec<CheetahString>,
689 source_ips: Vec<CheetahString>,
690 decision: CheetahString,
691 ) -> rocketmq_error::RocketMQResult<()>;
692
693 async fn update_acl_with_info(
694 &self,
695 broker_addr: CheetahString,
696 subject: CheetahString,
697 ) -> rocketmq_error::RocketMQResult<()>;
698
699 async fn delete_acl(
700 &self,
701 broker_addr: CheetahString,
702 subject: CheetahString,
703 resource: CheetahString,
704 ) -> rocketmq_error::RocketMQResult<()>;
705
706 async fn get_acl(
707 &self,
708 broker_addr: CheetahString,
709 subject: CheetahString,
710 ) -> rocketmq_error::RocketMQResult<AclInfo>;
711
712 async fn list_acl(
713 &self,
714 broker_addr: CheetahString,
715 subject_filter: CheetahString,
716 resource_filter: CheetahString,
717 ) -> rocketmq_error::RocketMQResult<Vec<AclInfo>>;
718
719 async fn create_lite_pull_topic(
720 &self,
721 addr: CheetahString,
722 topic: CheetahString,
723 queue_num: i32,
724 topic_sys_flag: i32,
725 read_queue_nums: i32,
726 write_queue_nums: i32,
727 ) -> rocketmq_error::RocketMQResult<()>;
728
729 async fn update_lite_pull_topic(
730 &self,
731 addr: CheetahString,
732 topic: CheetahString,
733 read_queue_nums: i32,
734 write_queue_nums: i32,
735 ) -> rocketmq_error::RocketMQResult<()>;
736
737 async fn get_lite_pull_topic(
738 &self,
739 addr: CheetahString,
740 topic: CheetahString,
741 ) -> rocketmq_error::RocketMQResult<TopicConfig>;
742
743 async fn delete_lite_pull_topic(
744 &self,
745 addr: CheetahString,
746 cluster_name: CheetahString,
747 topic: CheetahString,
748 ) -> rocketmq_error::RocketMQResult<()>;
749
750 async fn query_lite_pull_topic_list(&self, addr: CheetahString) -> rocketmq_error::RocketMQResult<TopicList>;
751
752 async fn query_lite_pull_topic_by_cluster(
753 &self,
754 cluster_name: CheetahString,
755 ) -> rocketmq_error::RocketMQResult<TopicList>;
756
757 async fn query_lite_pull_subscription_list(
758 &self,
759 addr: CheetahString,
760 topic: CheetahString,
761 ) -> rocketmq_error::RocketMQResult<GroupList>;
762
763 async fn update_lite_pull_consumer_offset(
764 &self,
765 addr: CheetahString,
766 topic: CheetahString,
767 group: CheetahString,
768 queue_id: i32,
769 offset: u64,
770 ) -> rocketmq_error::RocketMQResult<()>;
771
772 async fn examine_consume_stats_with_queue(
773 &self,
774 consumer_group: CheetahString,
775 topic: Option<CheetahString>,
776 queue_id: Option<i32>,
777 ) -> rocketmq_error::RocketMQResult<ConsumeStats>;
778
779 async fn examine_consume_stats_concurrent(
780 &self,
781 consumer_group: CheetahString,
782 topic: Option<CheetahString>,
783 ) -> AdminToolResult<ConsumeStats>;
784
785 async fn examine_consume_stats_concurrent_with_cluster(
786 &self,
787 consumer_group: CheetahString,
788 topic: Option<CheetahString>,
789 cluster_name: Option<CheetahString>,
790 ) -> AdminToolResult<ConsumeStats>;
791
792 async fn export_rocksdb_consumer_offset_to_json(
793 &self,
794 broker_addr: CheetahString,
795 file_path: CheetahString,
796 ) -> rocketmq_error::RocketMQResult<()>;
797
798 async fn export_rocksdb_consumer_offset_from_memory(
799 &self,
800 broker_addr: CheetahString,
801 ) -> rocketmq_error::RocketMQResult<CheetahString>;
802
803 async fn sync_broker_member_group(
804 &self,
805 controller_addr: CheetahString,
806 cluster_name: CheetahString,
807 broker_name: CheetahString,
808 ) -> rocketmq_error::RocketMQResult<()>;
809
810 async fn get_topic_config_by_topic_name(
811 &self,
812 broker_addr: CheetahString,
813 topic_name: CheetahString,
814 ) -> rocketmq_error::RocketMQResult<TopicConfig>;
815
816 async fn notify_min_broker_id_changed(
817 &self,
818 cluster_name: CheetahString,
819 broker_name: CheetahString,
820 min_broker_id: u64,
821 min_broker_addr: CheetahString,
822 offline_broker_addr: Option<CheetahString>,
823 ha_broker_addr: Option<CheetahString>,
824 ) -> rocketmq_error::RocketMQResult<()>;
825
826 async fn get_topic_stats_info(
827 &self,
828 broker_addr: CheetahString,
829 topic: CheetahString,
830 ) -> rocketmq_error::RocketMQResult<TopicStatsTable>;
831
832 async fn query_broker_has_topic(
833 &self,
834 broker_addr: CheetahString,
835 topic: CheetahString,
836 ) -> rocketmq_error::RocketMQResult<bool>;
837
838 async fn get_system_topic_list_from_broker(
839 &self,
840 broker_addr: CheetahString,
841 ) -> rocketmq_error::RocketMQResult<TopicList>;
842
843 async fn examine_topic_route_info_with_timeout(
844 &self,
845 topic: CheetahString,
846 timeout_millis: u64,
847 ) -> rocketmq_error::RocketMQResult<Option<TopicRouteData>>;
848
849 async fn export_pop_records(&self, broker_addr: CheetahString, timeout: u64) -> rocketmq_error::RocketMQResult<()>;
850
851 async fn switch_timer_engine(
852 &self,
853 broker_addr: CheetahString,
854 des_timer_engine: CheetahString,
855 ) -> rocketmq_error::RocketMQResult<()>;
856
857 async fn get_broker_lite_info(
858 &self,
859 broker_addr: CheetahString,
860 ) -> rocketmq_error::RocketMQResult<GetBrokerLiteInfoResponseBody>;
861
862 async fn get_parent_topic_info(
863 &self,
864 broker_addr: CheetahString,
865 topic: CheetahString,
866 ) -> rocketmq_error::RocketMQResult<GetParentTopicInfoResponseBody>;
867
868 async fn get_lite_topic_info(
869 &self,
870 broker_addr: CheetahString,
871 parent_topic: CheetahString,
872 lite_topic: CheetahString,
873 ) -> rocketmq_error::RocketMQResult<GetLiteTopicInfoResponseBody>;
874
875 async fn get_lite_client_info(
876 &self,
877 broker_addr: CheetahString,
878 parent_topic: CheetahString,
879 group: CheetahString,
880 client_id: CheetahString,
881 ) -> rocketmq_error::RocketMQResult<GetLiteClientInfoResponseBody>;
882
883 async fn get_lite_group_info(
884 &self,
885 broker_addr: CheetahString,
886 group: CheetahString,
887 lite_topic: CheetahString,
888 top_k: i32,
889 ) -> rocketmq_error::RocketMQResult<GetLiteGroupInfoResponseBody>;
890
891 async fn trigger_lite_dispatch(
892 &self,
893 broker_addr: CheetahString,
894 group: CheetahString,
895 client_id: CheetahString,
896 ) -> rocketmq_error::RocketMQResult<()>;
897
898 async fn export_rocksdb_config_to_json(
899 &self,
900 broker_addr: CheetahString,
901 config_types: Vec<CheetahString>,
902 ) -> rocketmq_error::RocketMQResult<()>;
903
904 async fn search_offset(
905 &self,
906 broker_addr: CheetahString,
907 topic_name: CheetahString,
908 queue_id: i32,
909 timestamp: u64,
910 timeout_millis: u64,
911 ) -> rocketmq_error::RocketMQResult<u64>;
912
913 async fn min_offset(
914 &self,
915 broker_addr: CheetahString,
916 message_queue: MessageQueue,
917 timeout_millis: u64,
918 ) -> rocketmq_error::RocketMQResult<i64>;
919
920 async fn max_offset(
921 &self,
922 broker_addr: CheetahString,
923 message_queue: MessageQueue,
924 timeout_millis: u64,
925 ) -> rocketmq_error::RocketMQResult<i64>;
926}
927
928#[allow(deprecated)]
929impl MQAdminExt for crate::admin::default_mq_admin_ext::DefaultMQAdminExt {
930 async fn start(&mut self) -> rocketmq_error::RocketMQResult<()> {
931 MQAdminExt::start(self.inner_mut().as_mut()).await
932 }
933
934 async fn shutdown(&mut self) {
935 MQAdminExt::shutdown(self.inner_mut().as_mut()).await
936 }
937
938 async fn add_broker_to_container(
939 &self,
940 broker_container_addr: CheetahString,
941 broker_config: CheetahString,
942 ) -> rocketmq_error::RocketMQResult<()> {
943 MQAdminExt::add_broker_to_container(self.inner().as_ref(), broker_container_addr, broker_config).await
944 }
945
946 async fn remove_broker_from_container(
947 &self,
948 broker_container_addr: CheetahString,
949 cluster_name: CheetahString,
950 broker_name: CheetahString,
951 broker_id: u64,
952 ) -> rocketmq_error::RocketMQResult<()> {
953 MQAdminExt::remove_broker_from_container(
954 self.inner().as_ref(),
955 broker_container_addr,
956 cluster_name,
957 broker_name,
958 broker_id,
959 )
960 .await
961 }
962
963 async fn update_broker_config(
964 &self,
965 broker_addr: CheetahString,
966 properties: HashMap<CheetahString, CheetahString>,
967 ) -> rocketmq_error::RocketMQResult<()> {
968 MQAdminExt::update_broker_config(self.inner().as_ref(), broker_addr, properties).await
969 }
970
971 async fn get_broker_config(
972 &self,
973 broker_addr: CheetahString,
974 ) -> rocketmq_error::RocketMQResult<HashMap<CheetahString, CheetahString>> {
975 MQAdminExt::get_broker_config(self.inner().as_ref(), broker_addr).await
976 }
977
978 async fn create_and_update_topic_config(
979 &self,
980 addr: CheetahString,
981 config: TopicConfig,
982 ) -> rocketmq_error::RocketMQResult<()> {
983 MQAdminExt::create_and_update_topic_config(self.inner().as_ref(), addr, config).await
984 }
985
986 async fn create_and_update_topic_config_list(
987 &self,
988 addr: CheetahString,
989 topic_config_list: Vec<TopicConfig>,
990 ) -> rocketmq_error::RocketMQResult<()> {
991 MQAdminExt::create_and_update_topic_config_list(self.inner().as_ref(), addr, topic_config_list).await
992 }
993
994 async fn create_and_update_plain_access_config(
995 &self,
996 addr: CheetahString,
997 config: PlainAccessConfig,
998 ) -> rocketmq_error::RocketMQResult<()> {
999 MQAdminExt::create_and_update_plain_access_config(self.inner().as_ref(), addr, config).await
1000 }
1001
1002 async fn delete_plain_access_config(
1003 &self,
1004 addr: CheetahString,
1005 access_key: CheetahString,
1006 ) -> rocketmq_error::RocketMQResult<()> {
1007 MQAdminExt::delete_plain_access_config(self.inner().as_ref(), addr, access_key).await
1008 }
1009
1010 async fn update_global_white_addr_config(
1011 &self,
1012 addr: CheetahString,
1013 global_white_addrs: CheetahString,
1014 acl_file_full_path: Option<CheetahString>,
1015 ) -> rocketmq_error::RocketMQResult<()> {
1016 MQAdminExt::update_global_white_addr_config(self.inner().as_ref(), addr, global_white_addrs, acl_file_full_path)
1017 .await
1018 }
1019
1020 async fn examine_broker_cluster_acl_version_info(
1021 &self,
1022 addr: CheetahString,
1023 ) -> rocketmq_error::RocketMQResult<CheetahString> {
1024 MQAdminExt::examine_broker_cluster_acl_version_info(self.inner().as_ref(), addr).await
1025 }
1026
1027 async fn create_and_update_subscription_group_config(
1028 &self,
1029 addr: CheetahString,
1030 config: SubscriptionGroupConfig,
1031 ) -> rocketmq_error::RocketMQResult<()> {
1032 MQAdminExt::create_and_update_subscription_group_config(self.inner().as_ref(), addr, config).await
1033 }
1034
1035 async fn create_and_update_subscription_group_config_list(
1036 &self,
1037 broker_addr: CheetahString,
1038 configs: Vec<SubscriptionGroupConfig>,
1039 ) -> rocketmq_error::RocketMQResult<()> {
1040 MQAdminExt::create_and_update_subscription_group_config_list(self.inner().as_ref(), broker_addr, configs).await
1041 }
1042
1043 async fn examine_subscription_group_config(
1044 &self,
1045 addr: CheetahString,
1046 group: CheetahString,
1047 ) -> rocketmq_error::RocketMQResult<SubscriptionGroupConfig> {
1048 MQAdminExt::examine_subscription_group_config(self.inner().as_ref(), addr, group).await
1049 }
1050
1051 async fn examine_topic_stats(
1052 &self,
1053 topic: CheetahString,
1054 broker_addr: Option<CheetahString>,
1055 ) -> rocketmq_error::RocketMQResult<TopicStatsTable> {
1056 MQAdminExt::examine_topic_stats(self.inner().as_ref(), topic, broker_addr).await
1057 }
1058
1059 async fn examine_topic_stats_concurrent(&self, topic: CheetahString) -> AdminToolResult<TopicStatsTable> {
1060 MQAdminExt::examine_topic_stats_concurrent(self.inner().as_ref(), topic).await
1061 }
1062
1063 async fn fetch_all_topic_list(&self) -> rocketmq_error::RocketMQResult<TopicList> {
1064 MQAdminExt::fetch_all_topic_list(self.inner().as_ref()).await
1065 }
1066
1067 async fn fetch_topics_by_cluster(&self, cluster_name: CheetahString) -> rocketmq_error::RocketMQResult<TopicList> {
1068 MQAdminExt::fetch_topics_by_cluster(self.inner().as_ref(), cluster_name).await
1069 }
1070
1071 async fn fetch_broker_runtime_stats(&self, broker_addr: CheetahString) -> rocketmq_error::RocketMQResult<KVTable> {
1072 MQAdminExt::fetch_broker_runtime_stats(self.inner().as_ref(), broker_addr).await
1073 }
1074
1075 async fn examine_consume_stats(
1076 &self,
1077 consumer_group: CheetahString,
1078 topic: Option<CheetahString>,
1079 cluster_name: Option<CheetahString>,
1080 broker_addr: Option<CheetahString>,
1081 timeout_millis: Option<u64>,
1082 ) -> rocketmq_error::RocketMQResult<ConsumeStats> {
1083 MQAdminExt::examine_consume_stats(
1084 self.inner().as_ref(),
1085 consumer_group,
1086 topic,
1087 cluster_name,
1088 broker_addr,
1089 timeout_millis,
1090 )
1091 .await
1092 }
1093
1094 async fn check_rocksdb_cq_write_progress(
1095 &self,
1096 broker_addr: CheetahString,
1097 topic: CheetahString,
1098 check_store_time: i64,
1099 ) -> rocketmq_error::RocketMQResult<CheckRocksdbCqWriteResult> {
1100 MQAdminExt::check_rocksdb_cq_write_progress(self.inner().as_ref(), broker_addr, topic, check_store_time).await
1101 }
1102
1103 async fn examine_broker_cluster_info(&self) -> rocketmq_error::RocketMQResult<ClusterInfo> {
1104 MQAdminExt::examine_broker_cluster_info(self.inner().as_ref()).await
1105 }
1106
1107 async fn examine_topic_route_info(
1108 &self,
1109 topic: CheetahString,
1110 ) -> rocketmq_error::RocketMQResult<Option<TopicRouteData>> {
1111 MQAdminExt::examine_topic_route_info(self.inner().as_ref(), topic).await
1112 }
1113
1114 async fn examine_consumer_connection_info(
1115 &self,
1116 consumer_group: CheetahString,
1117 broker_addr: Option<CheetahString>,
1118 ) -> rocketmq_error::RocketMQResult<ConsumerConnection> {
1119 MQAdminExt::examine_consumer_connection_info(self.inner().as_ref(), consumer_group, broker_addr).await
1120 }
1121
1122 async fn examine_producer_connection_info(
1123 &self,
1124 producer_group: CheetahString,
1125 topic: CheetahString,
1126 ) -> rocketmq_error::RocketMQResult<ProducerConnection> {
1127 MQAdminExt::examine_producer_connection_info(self.inner().as_ref(), producer_group, topic).await
1128 }
1129
1130 async fn get_all_producer_info(
1131 &self,
1132 broker_addr: CheetahString,
1133 ) -> rocketmq_error::RocketMQResult<ProducerTableInfo> {
1134 MQAdminExt::get_all_producer_info(self.inner().as_ref(), broker_addr).await
1135 }
1136
1137 async fn get_name_server_address_list(&self) -> Vec<CheetahString> {
1138 MQAdminExt::get_name_server_address_list(self.inner().as_ref()).await
1139 }
1140
1141 async fn wipe_write_perm_of_broker(
1142 &self,
1143 namesrv_addr: CheetahString,
1144 broker_name: CheetahString,
1145 ) -> rocketmq_error::RocketMQResult<i32> {
1146 MQAdminExt::wipe_write_perm_of_broker(self.inner().as_ref(), namesrv_addr, broker_name).await
1147 }
1148
1149 async fn add_write_perm_of_broker(
1150 &self,
1151 namesrv_addr: CheetahString,
1152 broker_name: CheetahString,
1153 ) -> rocketmq_error::RocketMQResult<i32> {
1154 MQAdminExt::add_write_perm_of_broker(self.inner().as_ref(), namesrv_addr, broker_name).await
1155 }
1156
1157 async fn put_kv_config(&self, namespace: CheetahString, key: CheetahString, value: CheetahString) {
1158 MQAdminExt::put_kv_config(self.inner().as_ref(), namespace, key, value).await
1159 }
1160
1161 async fn get_kv_config(
1162 &self,
1163 namespace: CheetahString,
1164 key: CheetahString,
1165 ) -> rocketmq_error::RocketMQResult<CheetahString> {
1166 MQAdminExt::get_kv_config(self.inner().as_ref(), namespace, key).await
1167 }
1168
1169 async fn get_kv_list_by_namespace(&self, namespace: CheetahString) -> rocketmq_error::RocketMQResult<KVTable> {
1170 MQAdminExt::get_kv_list_by_namespace(self.inner().as_ref(), namespace).await
1171 }
1172
1173 async fn delete_topic(
1174 &self,
1175 topic_name: CheetahString,
1176 cluster_name: CheetahString,
1177 ) -> rocketmq_error::RocketMQResult<()> {
1178 MQAdminExt::delete_topic(self.inner().as_ref(), topic_name, cluster_name).await
1179 }
1180
1181 async fn delete_topic_in_broker(
1182 &self,
1183 addrs: HashSet<CheetahString>,
1184 topic: CheetahString,
1185 ) -> rocketmq_error::RocketMQResult<()> {
1186 MQAdminExt::delete_topic_in_broker(self.inner().as_ref(), addrs, topic).await
1187 }
1188
1189 #[allow(deprecated)]
1190 async fn delete_topic_in_broker_concurrent(
1191 &self,
1192 addrs: HashSet<CheetahString>,
1193 topic: CheetahString,
1194 ) -> AdminToolResult<BrokerOperatorResult> {
1195 MQAdminExt::delete_topic_in_broker_concurrent(self.inner().as_ref(), addrs, topic).await
1196 }
1197
1198 async fn delete_topic_in_name_server(
1199 &self,
1200 addrs: HashSet<CheetahString>,
1201 cluster_name: Option<CheetahString>,
1202 topic: CheetahString,
1203 ) -> rocketmq_error::RocketMQResult<()> {
1204 MQAdminExt::delete_topic_in_name_server(self.inner().as_ref(), addrs, cluster_name, topic).await
1205 }
1206
1207 async fn delete_subscription_group(
1208 &self,
1209 addr: CheetahString,
1210 group_name: CheetahString,
1211 remove_offset: Option<bool>,
1212 ) -> rocketmq_error::RocketMQResult<()> {
1213 MQAdminExt::delete_subscription_group(self.inner().as_ref(), addr, group_name, remove_offset).await
1214 }
1215
1216 async fn create_and_update_kv_config(
1217 &self,
1218 namespace: CheetahString,
1219 key: CheetahString,
1220 value: CheetahString,
1221 ) -> rocketmq_error::RocketMQResult<()> {
1222 MQAdminExt::create_and_update_kv_config(self.inner().as_ref(), namespace, key, value).await
1223 }
1224
1225 async fn delete_kv_config(
1226 &self,
1227 namespace: CheetahString,
1228 key: CheetahString,
1229 ) -> rocketmq_error::RocketMQResult<()> {
1230 MQAdminExt::delete_kv_config(self.inner().as_ref(), namespace, key).await
1231 }
1232
1233 async fn reset_offset_by_timestamp_old(
1234 &self,
1235 cluster_name: Option<CheetahString>,
1236 consumer_group: CheetahString,
1237 topic: CheetahString,
1238 timestamp: u64,
1239 force: bool,
1240 ) -> rocketmq_error::RocketMQResult<Vec<RollbackStats>> {
1241 MQAdminExt::reset_offset_by_timestamp_old(
1242 self.inner().as_ref(),
1243 cluster_name,
1244 consumer_group,
1245 topic,
1246 timestamp,
1247 force,
1248 )
1249 .await
1250 }
1251
1252 async fn reset_offset_by_timestamp(
1253 &self,
1254 cluster_name: Option<CheetahString>,
1255 topic: CheetahString,
1256 group: CheetahString,
1257 timestamp: u64,
1258 is_force: bool,
1259 ) -> rocketmq_error::RocketMQResult<HashMap<MessageQueue, u64>> {
1260 MQAdminExt::reset_offset_by_timestamp(self.inner().as_ref(), cluster_name, topic, group, timestamp, is_force)
1261 .await
1262 }
1263
1264 async fn reset_offset_new(
1265 &self,
1266 consumer_group: CheetahString,
1267 topic: CheetahString,
1268 timestamp: u64,
1269 ) -> rocketmq_error::RocketMQResult<()> {
1270 MQAdminExt::reset_offset_new(self.inner().as_ref(), consumer_group, topic, timestamp).await
1271 }
1272
1273 #[allow(deprecated)]
1274 async fn reset_offset_new_concurrent(
1275 &self,
1276 group: CheetahString,
1277 topic: CheetahString,
1278 timestamp: u64,
1279 ) -> AdminToolResult<BrokerOperatorResult> {
1280 MQAdminExt::reset_offset_new_concurrent(self.inner().as_ref(), group, topic, timestamp).await
1281 }
1282
1283 async fn get_consume_status(
1284 &self,
1285 topic: CheetahString,
1286 group: CheetahString,
1287 client_addr: CheetahString,
1288 ) -> rocketmq_error::RocketMQResult<HashMap<CheetahString, HashMap<MessageQueue, u64>>> {
1289 MQAdminExt::get_consume_status(self.inner().as_ref(), topic, group, client_addr).await
1290 }
1291
1292 async fn create_or_update_order_conf(
1293 &self,
1294 key: CheetahString,
1295 value: CheetahString,
1296 is_cluster: bool,
1297 ) -> rocketmq_error::RocketMQResult<()> {
1298 MQAdminExt::create_or_update_order_conf(self.inner().as_ref(), key, value, is_cluster).await
1299 }
1300
1301 async fn query_topic_consume_by_who(&self, topic: CheetahString) -> rocketmq_error::RocketMQResult<GroupList> {
1302 MQAdminExt::query_topic_consume_by_who(self.inner().as_ref(), topic).await
1303 }
1304
1305 async fn query_topics_by_consumer(&self, group: CheetahString) -> rocketmq_error::RocketMQResult<TopicList> {
1306 MQAdminExt::query_topics_by_consumer(self.inner().as_ref(), group).await
1307 }
1308
1309 async fn query_topics_by_consumer_concurrent(&self, group: CheetahString) -> AdminToolResult<TopicList> {
1310 MQAdminExt::query_topics_by_consumer_concurrent(self.inner().as_ref(), group).await
1311 }
1312
1313 async fn query_subscription(
1314 &self,
1315 group: CheetahString,
1316 topic: CheetahString,
1317 ) -> rocketmq_error::RocketMQResult<SubscriptionData> {
1318 MQAdminExt::query_subscription(self.inner().as_ref(), group, topic).await
1319 }
1320
1321 async fn query_consume_time_span(
1322 &self,
1323 topic: CheetahString,
1324 group: CheetahString,
1325 ) -> rocketmq_error::RocketMQResult<Vec<QueueTimeSpan>> {
1326 MQAdminExt::query_consume_time_span(self.inner().as_ref(), topic, group).await
1327 }
1328
1329 async fn query_consume_time_span_concurrent(
1330 &self,
1331 topic: CheetahString,
1332 group: CheetahString,
1333 ) -> AdminToolResult<Vec<QueueTimeSpan>> {
1334 MQAdminExt::query_consume_time_span_concurrent(self.inner().as_ref(), topic, group).await
1335 }
1336
1337 async fn clean_expired_consumer_queue(
1338 &self,
1339 cluster: Option<CheetahString>,
1340 addr: Option<CheetahString>,
1341 ) -> rocketmq_error::RocketMQResult<bool> {
1342 MQAdminExt::clean_expired_consumer_queue(self.inner().as_ref(), cluster, addr).await
1343 }
1344
1345 async fn clean_expired_consumer_queue_by_addr(&self, addr: CheetahString) -> rocketmq_error::RocketMQResult<bool> {
1346 MQAdminExt::clean_expired_consumer_queue_by_addr(self.inner().as_ref(), addr).await
1347 }
1348
1349 async fn delete_expired_commit_log(
1350 &self,
1351 cluster: Option<CheetahString>,
1352 addr: Option<CheetahString>,
1353 ) -> rocketmq_error::RocketMQResult<bool> {
1354 MQAdminExt::delete_expired_commit_log(self.inner().as_ref(), cluster, addr).await
1355 }
1356
1357 async fn delete_expired_commit_log_by_addr(&self, addr: CheetahString) -> rocketmq_error::RocketMQResult<bool> {
1358 MQAdminExt::delete_expired_commit_log_by_addr(self.inner().as_ref(), addr).await
1359 }
1360
1361 async fn clean_unused_topic(
1362 &self,
1363 cluster: Option<CheetahString>,
1364 addr: Option<CheetahString>,
1365 ) -> rocketmq_error::RocketMQResult<bool> {
1366 MQAdminExt::clean_unused_topic(self.inner().as_ref(), cluster, addr).await
1367 }
1368
1369 async fn clean_unused_topic_by_addr(&self, addr: CheetahString) -> rocketmq_error::RocketMQResult<bool> {
1370 MQAdminExt::clean_unused_topic_by_addr(self.inner().as_ref(), addr).await
1371 }
1372
1373 async fn get_consumer_running_info(
1374 &self,
1375 consumer_group: CheetahString,
1376 client_id: CheetahString,
1377 jstack: bool,
1378 metrics: Option<bool>,
1379 ) -> rocketmq_error::RocketMQResult<ConsumerRunningInfo> {
1380 MQAdminExt::get_consumer_running_info(self.inner().as_ref(), consumer_group, client_id, jstack, metrics).await
1381 }
1382
1383 async fn consume_message_directly(
1384 &self,
1385 consumer_group: CheetahString,
1386 client_id: CheetahString,
1387 topic: CheetahString,
1388 msg_id: CheetahString,
1389 ) -> rocketmq_error::RocketMQResult<ConsumeMessageDirectlyResult> {
1390 MQAdminExt::consume_message_directly(self.inner().as_ref(), consumer_group, client_id, topic, msg_id).await
1391 }
1392
1393 async fn consume_message_directly_ext(
1394 &self,
1395 cluster_name: CheetahString,
1396 consumer_group: CheetahString,
1397 client_id: CheetahString,
1398 topic: CheetahString,
1399 msg_id: CheetahString,
1400 ) -> rocketmq_error::RocketMQResult<ConsumeMessageDirectlyResult> {
1401 MQAdminExt::consume_message_directly_ext(
1402 self.inner().as_ref(),
1403 cluster_name,
1404 consumer_group,
1405 client_id,
1406 topic,
1407 msg_id,
1408 )
1409 .await
1410 }
1411
1412 #[allow(deprecated)]
1413 async fn message_track_detail(&self, msg: MessageExt) -> rocketmq_error::RocketMQResult<Vec<MessageTrack>> {
1414 MQAdminExt::message_track_detail(self.inner().as_ref(), msg).await
1415 }
1416
1417 #[allow(deprecated)]
1418 async fn message_track_detail_concurrent(&self, msg: MessageExt) -> AdminToolResult<Vec<MessageTrack>> {
1419 MQAdminExt::message_track_detail_concurrent(self.inner().as_ref(), msg).await
1420 }
1421
1422 async fn clone_group_offset(
1423 &self,
1424 src_group: CheetahString,
1425 dest_group: CheetahString,
1426 topic: CheetahString,
1427 is_offline: bool,
1428 ) -> rocketmq_error::RocketMQResult<()> {
1429 MQAdminExt::clone_group_offset(self.inner().as_ref(), src_group, dest_group, topic, is_offline).await
1430 }
1431
1432 async fn view_broker_stats_data(
1433 &self,
1434 broker_addr: CheetahString,
1435 stats_name: CheetahString,
1436 stats_key: CheetahString,
1437 ) -> rocketmq_error::RocketMQResult<BrokerStatsData> {
1438 MQAdminExt::view_broker_stats_data(self.inner().as_ref(), broker_addr, stats_name, stats_key).await
1439 }
1440
1441 async fn get_cluster_list(&self, topic: String) -> rocketmq_error::RocketMQResult<HashSet<CheetahString>> {
1442 MQAdminExt::get_cluster_list(self.inner().as_ref(), topic).await
1443 }
1444
1445 async fn fetch_consume_stats_in_broker(
1446 &self,
1447 broker_addr: CheetahString,
1448 is_order: bool,
1449 timeout_millis: u64,
1450 ) -> rocketmq_error::RocketMQResult<ConsumeStatsList> {
1451 MQAdminExt::fetch_consume_stats_in_broker(self.inner().as_ref(), broker_addr, is_order, timeout_millis).await
1452 }
1453
1454 async fn get_topic_cluster_list(&self, topic: String) -> rocketmq_error::RocketMQResult<HashSet<CheetahString>> {
1455 MQAdminExt::get_topic_cluster_list(self.inner().as_ref(), topic).await
1456 }
1457
1458 async fn get_all_subscription_group(
1459 &self,
1460 broker_addr: CheetahString,
1461 timeout_millis: u64,
1462 ) -> rocketmq_error::RocketMQResult<SubscriptionGroupWrapper> {
1463 MQAdminExt::get_all_subscription_group(self.inner().as_ref(), broker_addr, timeout_millis).await
1464 }
1465
1466 async fn get_user_subscription_group(
1467 &self,
1468 broker_addr: CheetahString,
1469 timeout_millis: u64,
1470 ) -> rocketmq_error::RocketMQResult<SubscriptionGroupWrapper> {
1471 MQAdminExt::get_user_subscription_group(self.inner().as_ref(), broker_addr, timeout_millis).await
1472 }
1473
1474 async fn get_all_topic_config(
1475 &self,
1476 broker_addr: CheetahString,
1477 timeout_millis: u64,
1478 ) -> rocketmq_error::RocketMQResult<TopicConfigSerializeWrapper> {
1479 MQAdminExt::get_all_topic_config(self.inner().as_ref(), broker_addr, timeout_millis).await
1480 }
1481
1482 async fn get_user_topic_config(
1483 &self,
1484 broker_addr: CheetahString,
1485 special_topic: bool,
1486 timeout_millis: u64,
1487 ) -> rocketmq_error::RocketMQResult<TopicConfigSerializeWrapper> {
1488 MQAdminExt::get_user_topic_config(self.inner().as_ref(), broker_addr, special_topic, timeout_millis).await
1489 }
1490
1491 async fn update_consume_offset(
1492 &self,
1493 broker_addr: CheetahString,
1494 consume_group: CheetahString,
1495 mq: MessageQueue,
1496 offset: u64,
1497 ) -> rocketmq_error::RocketMQResult<()> {
1498 MQAdminExt::update_consume_offset(self.inner().as_ref(), broker_addr, consume_group, mq, offset).await
1499 }
1500
1501 async fn update_name_server_config(
1502 &self,
1503 properties: HashMap<CheetahString, CheetahString>,
1504 name_servers: Option<Vec<CheetahString>>,
1505 ) -> rocketmq_error::RocketMQResult<()> {
1506 MQAdminExt::update_name_server_config(self.inner().as_ref(), properties, name_servers).await
1507 }
1508
1509 async fn get_name_server_config(
1510 &self,
1511 name_servers: Vec<CheetahString>,
1512 ) -> rocketmq_error::RocketMQResult<HashMap<CheetahString, HashMap<CheetahString, CheetahString>>> {
1513 MQAdminExt::get_name_server_config(self.inner().as_ref(), name_servers).await
1514 }
1515
1516 async fn probe_name_server(&self, name_server: CheetahString) -> rocketmq_error::RocketMQResult<()> {
1517 MQAdminExt::probe_name_server(self.inner().as_ref(), name_server).await
1518 }
1519
1520 async fn query_consume_queue(
1521 &self,
1522 broker_addr: CheetahString,
1523 topic: CheetahString,
1524 queue_id: i32,
1525 index: u64,
1526 count: i32,
1527 consumer_group: CheetahString,
1528 ) -> rocketmq_error::RocketMQResult<QueryConsumeQueueResponseBody> {
1529 MQAdminExt::query_consume_queue(
1530 self.inner().as_ref(),
1531 broker_addr,
1532 topic,
1533 queue_id,
1534 index,
1535 count,
1536 consumer_group,
1537 )
1538 .await
1539 }
1540
1541 async fn resume_check_half_message(
1542 &self,
1543 topic: CheetahString,
1544 msg_id: CheetahString,
1545 ) -> rocketmq_error::RocketMQResult<bool> {
1546 MQAdminExt::resume_check_half_message(self.inner().as_ref(), topic, msg_id).await
1547 }
1548
1549 async fn set_message_request_mode(
1550 &self,
1551 broker_addr: CheetahString,
1552 topic: CheetahString,
1553 consumer_group: CheetahString,
1554 mode: MessageRequestMode,
1555 pop_work_group_size: i32,
1556 timeout_millis: u64,
1557 ) -> rocketmq_error::RocketMQResult<()> {
1558 MQAdminExt::set_message_request_mode(
1559 self.inner().as_ref(),
1560 broker_addr,
1561 topic,
1562 consumer_group,
1563 mode,
1564 pop_work_group_size,
1565 timeout_millis,
1566 )
1567 .await
1568 }
1569
1570 async fn reset_offset_by_queue_id(
1571 &self,
1572 broker_addr: CheetahString,
1573 consumer_group: CheetahString,
1574 topic_name: CheetahString,
1575 queue_id: i32,
1576 reset_offset: u64,
1577 ) -> rocketmq_error::RocketMQResult<()> {
1578 MQAdminExt::reset_offset_by_queue_id(
1579 self.inner().as_ref(),
1580 broker_addr,
1581 consumer_group,
1582 topic_name,
1583 queue_id,
1584 reset_offset,
1585 )
1586 .await
1587 }
1588
1589 async fn examine_topic_config(
1590 &self,
1591 addr: CheetahString,
1592 topic: CheetahString,
1593 ) -> rocketmq_error::RocketMQResult<TopicConfig> {
1594 MQAdminExt::examine_topic_config(self.inner().as_ref(), addr, topic).await
1595 }
1596
1597 async fn create_static_topic(
1598 &self,
1599 addr: CheetahString,
1600 default_topic: CheetahString,
1601 topic_config: TopicConfig,
1602 mapping_detail: TopicQueueMappingDetail,
1603 force: bool,
1604 ) -> rocketmq_error::RocketMQResult<()> {
1605 MQAdminExt::create_static_topic(
1606 self.inner().as_ref(),
1607 addr,
1608 default_topic,
1609 topic_config,
1610 mapping_detail,
1611 force,
1612 )
1613 .await
1614 }
1615
1616 async fn update_and_get_group_read_forbidden(
1617 &self,
1618 broker_addr: CheetahString,
1619 group_name: CheetahString,
1620 topic_name: CheetahString,
1621 readable: Option<bool>,
1622 ) -> rocketmq_error::RocketMQResult<GroupForbidden> {
1623 MQAdminExt::update_and_get_group_read_forbidden(
1624 self.inner().as_ref(),
1625 broker_addr,
1626 group_name,
1627 topic_name,
1628 readable,
1629 )
1630 .await
1631 }
1632
1633 async fn query_message(
1634 &self,
1635 cluster_name: CheetahString,
1636 topic: CheetahString,
1637 msg_id: CheetahString,
1638 ) -> rocketmq_error::RocketMQResult<MessageExt> {
1639 MQAdminExt::query_message(self.inner().as_ref(), cluster_name, topic, msg_id).await
1640 }
1641
1642 async fn get_broker_ha_status(&self, broker_addr: CheetahString) -> rocketmq_error::RocketMQResult<HARuntimeInfo> {
1643 MQAdminExt::get_broker_ha_status(self.inner().as_ref(), broker_addr).await
1644 }
1645
1646 async fn get_in_sync_state_data(
1647 &self,
1648 controller_address: CheetahString,
1649 brokers: Vec<CheetahString>,
1650 ) -> rocketmq_error::RocketMQResult<BrokerReplicasInfo> {
1651 MQAdminExt::get_in_sync_state_data(self.inner().as_ref(), controller_address, brokers).await
1652 }
1653
1654 async fn get_broker_epoch_cache(
1655 &self,
1656 broker_addr: CheetahString,
1657 ) -> rocketmq_error::RocketMQResult<EpochEntryCache> {
1658 MQAdminExt::get_broker_epoch_cache(self.inner().as_ref(), broker_addr).await
1659 }
1660
1661 async fn get_controller_meta_data(
1662 &self,
1663 controller_addr: CheetahString,
1664 ) -> rocketmq_error::RocketMQResult<GetMetaDataResponseHeader> {
1665 MQAdminExt::get_controller_meta_data(self.inner().as_ref(), controller_addr).await
1666 }
1667
1668 async fn reset_master_flush_offset(
1669 &self,
1670 broker_addr: CheetahString,
1671 master_flush_offset: u64,
1672 ) -> rocketmq_error::RocketMQResult<()> {
1673 MQAdminExt::reset_master_flush_offset(self.inner().as_ref(), broker_addr, master_flush_offset).await
1674 }
1675
1676 async fn get_controller_config(
1677 &self,
1678 controller_servers: Vec<CheetahString>,
1679 ) -> rocketmq_error::RocketMQResult<HashMap<CheetahString, HashMap<CheetahString, CheetahString>>> {
1680 MQAdminExt::get_controller_config(self.inner().as_ref(), controller_servers).await
1681 }
1682
1683 async fn update_controller_config(
1684 &self,
1685 properties: HashMap<CheetahString, CheetahString>,
1686 controllers: Vec<CheetahString>,
1687 ) -> rocketmq_error::RocketMQResult<()> {
1688 MQAdminExt::update_controller_config(self.inner().as_ref(), properties, controllers).await
1689 }
1690
1691 async fn elect_master(
1692 &self,
1693 controller_addr: CheetahString,
1694 cluster_name: CheetahString,
1695 broker_name: CheetahString,
1696 broker_id: Option<u64>,
1697 ) -> rocketmq_error::RocketMQResult<(ElectMasterResponseHeader, BrokerMemberGroup)> {
1698 MQAdminExt::elect_master(
1699 self.inner().as_ref(),
1700 controller_addr,
1701 cluster_name,
1702 broker_name,
1703 broker_id,
1704 )
1705 .await
1706 }
1707
1708 async fn clean_controller_broker_data(
1709 &self,
1710 controller_addr: CheetahString,
1711 cluster_name: CheetahString,
1712 broker_name: CheetahString,
1713 broker_controller_ids_to_clean: Option<CheetahString>,
1714 is_clean_living_broker: bool,
1715 ) -> rocketmq_error::RocketMQResult<()> {
1716 MQAdminExt::clean_controller_broker_data(
1717 self.inner().as_ref(),
1718 controller_addr,
1719 cluster_name,
1720 broker_name,
1721 broker_controller_ids_to_clean,
1722 is_clean_living_broker,
1723 )
1724 .await
1725 }
1726
1727 async fn update_cold_data_flow_ctr_group_config(
1728 &self,
1729 broker_addr: CheetahString,
1730 properties: HashMap<CheetahString, CheetahString>,
1731 ) -> rocketmq_error::RocketMQResult<()> {
1732 MQAdminExt::update_cold_data_flow_ctr_group_config(self.inner().as_ref(), broker_addr, properties).await
1733 }
1734
1735 async fn remove_cold_data_flow_ctr_group_config(
1736 &self,
1737 broker_addr: CheetahString,
1738 consumer_group: CheetahString,
1739 ) -> rocketmq_error::RocketMQResult<()> {
1740 MQAdminExt::remove_cold_data_flow_ctr_group_config(self.inner().as_ref(), broker_addr, consumer_group).await
1741 }
1742
1743 async fn get_cold_data_flow_ctr_info(
1744 &self,
1745 broker_addr: CheetahString,
1746 ) -> rocketmq_error::RocketMQResult<CheetahString> {
1747 MQAdminExt::get_cold_data_flow_ctr_info(self.inner().as_ref(), broker_addr).await
1748 }
1749
1750 async fn set_commit_log_read_ahead_mode(
1751 &self,
1752 broker_addr: CheetahString,
1753 mode: CheetahString,
1754 ) -> rocketmq_error::RocketMQResult<CheetahString> {
1755 MQAdminExt::set_commit_log_read_ahead_mode(self.inner().as_ref(), broker_addr, mode).await
1756 }
1757
1758 async fn create_user(
1759 &self,
1760 broker_addr: CheetahString,
1761 username: CheetahString,
1762 password: CheetahString,
1763 user_type: CheetahString,
1764 ) -> rocketmq_error::RocketMQResult<()> {
1765 MQAdminExt::create_user(self.inner().as_ref(), broker_addr, username, password, user_type).await
1766 }
1767
1768 async fn create_user_with_info(
1769 &self,
1770 broker_addr: CheetahString,
1771 username: CheetahString,
1772 password: CheetahString,
1773 ) -> rocketmq_error::RocketMQResult<()> {
1774 MQAdminExt::create_user_with_info(self.inner().as_ref(), broker_addr, username, password).await
1775 }
1776
1777 async fn update_user(
1778 &self,
1779 broker_addr: CheetahString,
1780 username: CheetahString,
1781 password: CheetahString,
1782 user_type: CheetahString,
1783 user_status: CheetahString,
1784 ) -> rocketmq_error::RocketMQResult<()> {
1785 MQAdminExt::update_user(
1786 self.inner().as_ref(),
1787 broker_addr,
1788 username,
1789 password,
1790 user_type,
1791 user_status,
1792 )
1793 .await
1794 }
1795
1796 async fn update_user_with_info(
1797 &self,
1798 broker_addr: CheetahString,
1799 username: CheetahString,
1800 password: CheetahString,
1801 ) -> rocketmq_error::RocketMQResult<()> {
1802 MQAdminExt::update_user_with_info(self.inner().as_ref(), broker_addr, username, password).await
1803 }
1804
1805 async fn delete_user(
1806 &self,
1807 broker_addr: CheetahString,
1808 username: CheetahString,
1809 ) -> rocketmq_error::RocketMQResult<()> {
1810 MQAdminExt::delete_user(self.inner().as_ref(), broker_addr, username).await
1811 }
1812
1813 async fn get_user(
1814 &self,
1815 broker_addr: CheetahString,
1816 username: CheetahString,
1817 ) -> rocketmq_error::RocketMQResult<Option<UserInfo>> {
1818 MQAdminExt::get_user(self.inner().as_ref(), broker_addr, username).await
1819 }
1820
1821 async fn list_users(
1822 &self,
1823 broker_addr: CheetahString,
1824 filter: CheetahString,
1825 ) -> rocketmq_error::RocketMQResult<Vec<UserInfo>> {
1826 MQAdminExt::list_users(self.inner().as_ref(), broker_addr, filter).await
1827 }
1828
1829 async fn create_acl(
1830 &self,
1831 broker_addr: CheetahString,
1832 subject: CheetahString,
1833 resources: Vec<CheetahString>,
1834 actions: Vec<CheetahString>,
1835 source_ips: Vec<CheetahString>,
1836 decision: CheetahString,
1837 ) -> rocketmq_error::RocketMQResult<()> {
1838 MQAdminExt::create_acl(
1839 self.inner().as_ref(),
1840 broker_addr,
1841 subject,
1842 resources,
1843 actions,
1844 source_ips,
1845 decision,
1846 )
1847 .await
1848 }
1849
1850 async fn create_acl_with_info(
1851 &self,
1852 broker_addr: CheetahString,
1853 subject: CheetahString,
1854 ) -> rocketmq_error::RocketMQResult<()> {
1855 MQAdminExt::create_acl_with_info(self.inner().as_ref(), broker_addr, subject).await
1856 }
1857
1858 async fn update_acl(
1859 &self,
1860 broker_addr: CheetahString,
1861 subject: CheetahString,
1862 resources: Vec<CheetahString>,
1863 actions: Vec<CheetahString>,
1864 source_ips: Vec<CheetahString>,
1865 decision: CheetahString,
1866 ) -> rocketmq_error::RocketMQResult<()> {
1867 MQAdminExt::update_acl(
1868 self.inner().as_ref(),
1869 broker_addr,
1870 subject,
1871 resources,
1872 actions,
1873 source_ips,
1874 decision,
1875 )
1876 .await
1877 }
1878
1879 async fn update_acl_with_info(
1880 &self,
1881 broker_addr: CheetahString,
1882 subject: CheetahString,
1883 ) -> rocketmq_error::RocketMQResult<()> {
1884 MQAdminExt::update_acl_with_info(self.inner().as_ref(), broker_addr, subject).await
1885 }
1886
1887 async fn delete_acl(
1888 &self,
1889 broker_addr: CheetahString,
1890 subject: CheetahString,
1891 resource: CheetahString,
1892 ) -> rocketmq_error::RocketMQResult<()> {
1893 MQAdminExt::delete_acl(self.inner().as_ref(), broker_addr, subject, resource).await
1894 }
1895
1896 async fn get_acl(
1897 &self,
1898 broker_addr: CheetahString,
1899 subject: CheetahString,
1900 ) -> rocketmq_error::RocketMQResult<AclInfo> {
1901 MQAdminExt::get_acl(self.inner().as_ref(), broker_addr, subject).await
1902 }
1903
1904 async fn list_acl(
1905 &self,
1906 broker_addr: CheetahString,
1907 subject_filter: CheetahString,
1908 resource_filter: CheetahString,
1909 ) -> rocketmq_error::RocketMQResult<Vec<AclInfo>> {
1910 MQAdminExt::list_acl(self.inner().as_ref(), broker_addr, subject_filter, resource_filter).await
1911 }
1912
1913 async fn create_lite_pull_topic(
1914 &self,
1915 addr: CheetahString,
1916 topic: CheetahString,
1917 queue_num: i32,
1918 topic_sys_flag: i32,
1919 read_queue_nums: i32,
1920 write_queue_nums: i32,
1921 ) -> rocketmq_error::RocketMQResult<()> {
1922 MQAdminExt::create_lite_pull_topic(
1923 self.inner().as_ref(),
1924 addr,
1925 topic,
1926 queue_num,
1927 topic_sys_flag,
1928 read_queue_nums,
1929 write_queue_nums,
1930 )
1931 .await
1932 }
1933
1934 async fn update_lite_pull_topic(
1935 &self,
1936 addr: CheetahString,
1937 topic: CheetahString,
1938 read_queue_nums: i32,
1939 write_queue_nums: i32,
1940 ) -> rocketmq_error::RocketMQResult<()> {
1941 MQAdminExt::update_lite_pull_topic(self.inner().as_ref(), addr, topic, read_queue_nums, write_queue_nums).await
1942 }
1943
1944 async fn get_lite_pull_topic(
1945 &self,
1946 addr: CheetahString,
1947 topic: CheetahString,
1948 ) -> rocketmq_error::RocketMQResult<TopicConfig> {
1949 MQAdminExt::get_lite_pull_topic(self.inner().as_ref(), addr, topic).await
1950 }
1951
1952 async fn delete_lite_pull_topic(
1953 &self,
1954 addr: CheetahString,
1955 cluster_name: CheetahString,
1956 topic: CheetahString,
1957 ) -> rocketmq_error::RocketMQResult<()> {
1958 MQAdminExt::delete_lite_pull_topic(self.inner().as_ref(), addr, cluster_name, topic).await
1959 }
1960
1961 async fn query_lite_pull_topic_list(&self, addr: CheetahString) -> rocketmq_error::RocketMQResult<TopicList> {
1962 MQAdminExt::query_lite_pull_topic_list(self.inner().as_ref(), addr).await
1963 }
1964
1965 async fn query_lite_pull_topic_by_cluster(
1966 &self,
1967 cluster_name: CheetahString,
1968 ) -> rocketmq_error::RocketMQResult<TopicList> {
1969 MQAdminExt::query_lite_pull_topic_by_cluster(self.inner().as_ref(), cluster_name).await
1970 }
1971
1972 async fn query_lite_pull_subscription_list(
1973 &self,
1974 addr: CheetahString,
1975 topic: CheetahString,
1976 ) -> rocketmq_error::RocketMQResult<GroupList> {
1977 MQAdminExt::query_lite_pull_subscription_list(self.inner().as_ref(), addr, topic).await
1978 }
1979
1980 async fn update_lite_pull_consumer_offset(
1981 &self,
1982 addr: CheetahString,
1983 topic: CheetahString,
1984 group: CheetahString,
1985 queue_id: i32,
1986 offset: u64,
1987 ) -> rocketmq_error::RocketMQResult<()> {
1988 MQAdminExt::update_lite_pull_consumer_offset(self.inner().as_ref(), addr, topic, group, queue_id, offset).await
1989 }
1990
1991 async fn examine_consume_stats_with_queue(
1992 &self,
1993 consumer_group: CheetahString,
1994 topic: Option<CheetahString>,
1995 queue_id: Option<i32>,
1996 ) -> rocketmq_error::RocketMQResult<ConsumeStats> {
1997 MQAdminExt::examine_consume_stats_with_queue(self.inner().as_ref(), consumer_group, topic, queue_id).await
1998 }
1999
2000 async fn examine_consume_stats_concurrent(
2001 &self,
2002 consumer_group: CheetahString,
2003 topic: Option<CheetahString>,
2004 ) -> AdminToolResult<ConsumeStats> {
2005 MQAdminExt::examine_consume_stats_concurrent(self.inner().as_ref(), consumer_group, topic).await
2006 }
2007
2008 async fn examine_consume_stats_concurrent_with_cluster(
2009 &self,
2010 consumer_group: CheetahString,
2011 topic: Option<CheetahString>,
2012 cluster_name: Option<CheetahString>,
2013 ) -> AdminToolResult<ConsumeStats> {
2014 MQAdminExt::examine_consume_stats_concurrent_with_cluster(
2015 self.inner().as_ref(),
2016 consumer_group,
2017 topic,
2018 cluster_name,
2019 )
2020 .await
2021 }
2022
2023 async fn export_rocksdb_consumer_offset_to_json(
2024 &self,
2025 broker_addr: CheetahString,
2026 file_path: CheetahString,
2027 ) -> rocketmq_error::RocketMQResult<()> {
2028 MQAdminExt::export_rocksdb_consumer_offset_to_json(self.inner().as_ref(), broker_addr, file_path).await
2029 }
2030
2031 async fn export_rocksdb_consumer_offset_from_memory(
2032 &self,
2033 broker_addr: CheetahString,
2034 ) -> rocketmq_error::RocketMQResult<CheetahString> {
2035 MQAdminExt::export_rocksdb_consumer_offset_from_memory(self.inner().as_ref(), broker_addr).await
2036 }
2037
2038 async fn sync_broker_member_group(
2039 &self,
2040 controller_addr: CheetahString,
2041 cluster_name: CheetahString,
2042 broker_name: CheetahString,
2043 ) -> rocketmq_error::RocketMQResult<()> {
2044 MQAdminExt::sync_broker_member_group(self.inner().as_ref(), controller_addr, cluster_name, broker_name).await
2045 }
2046
2047 async fn get_topic_config_by_topic_name(
2048 &self,
2049 broker_addr: CheetahString,
2050 topic_name: CheetahString,
2051 ) -> rocketmq_error::RocketMQResult<TopicConfig> {
2052 MQAdminExt::get_topic_config_by_topic_name(self.inner().as_ref(), broker_addr, topic_name).await
2053 }
2054
2055 async fn notify_min_broker_id_changed(
2056 &self,
2057 cluster_name: CheetahString,
2058 broker_name: CheetahString,
2059 min_broker_id: u64,
2060 min_broker_addr: CheetahString,
2061 offline_broker_addr: Option<CheetahString>,
2062 ha_broker_addr: Option<CheetahString>,
2063 ) -> rocketmq_error::RocketMQResult<()> {
2064 MQAdminExt::notify_min_broker_id_changed(
2065 self.inner().as_ref(),
2066 cluster_name,
2067 broker_name,
2068 min_broker_id,
2069 min_broker_addr,
2070 offline_broker_addr,
2071 ha_broker_addr,
2072 )
2073 .await
2074 }
2075
2076 async fn get_topic_stats_info(
2077 &self,
2078 broker_addr: CheetahString,
2079 topic: CheetahString,
2080 ) -> rocketmq_error::RocketMQResult<TopicStatsTable> {
2081 MQAdminExt::get_topic_stats_info(self.inner().as_ref(), broker_addr, topic).await
2082 }
2083
2084 async fn query_broker_has_topic(
2085 &self,
2086 broker_addr: CheetahString,
2087 topic: CheetahString,
2088 ) -> rocketmq_error::RocketMQResult<bool> {
2089 MQAdminExt::query_broker_has_topic(self.inner().as_ref(), broker_addr, topic).await
2090 }
2091
2092 async fn get_system_topic_list_from_broker(
2093 &self,
2094 broker_addr: CheetahString,
2095 ) -> rocketmq_error::RocketMQResult<TopicList> {
2096 MQAdminExt::get_system_topic_list_from_broker(self.inner().as_ref(), broker_addr).await
2097 }
2098
2099 async fn examine_topic_route_info_with_timeout(
2100 &self,
2101 topic: CheetahString,
2102 timeout_millis: u64,
2103 ) -> rocketmq_error::RocketMQResult<Option<TopicRouteData>> {
2104 MQAdminExt::examine_topic_route_info_with_timeout(self.inner().as_ref(), topic, timeout_millis).await
2105 }
2106
2107 async fn export_pop_records(&self, broker_addr: CheetahString, timeout: u64) -> rocketmq_error::RocketMQResult<()> {
2108 MQAdminExt::export_pop_records(self.inner().as_ref(), broker_addr, timeout).await
2109 }
2110
2111 async fn switch_timer_engine(
2112 &self,
2113 broker_addr: CheetahString,
2114 des_timer_engine: CheetahString,
2115 ) -> rocketmq_error::RocketMQResult<()> {
2116 MQAdminExt::switch_timer_engine(self.inner().as_ref(), broker_addr, des_timer_engine).await
2117 }
2118
2119 async fn get_broker_lite_info(
2120 &self,
2121 broker_addr: CheetahString,
2122 ) -> rocketmq_error::RocketMQResult<GetBrokerLiteInfoResponseBody> {
2123 MQAdminExt::get_broker_lite_info(self.inner().as_ref(), broker_addr).await
2124 }
2125
2126 async fn get_parent_topic_info(
2127 &self,
2128 broker_addr: CheetahString,
2129 topic: CheetahString,
2130 ) -> rocketmq_error::RocketMQResult<GetParentTopicInfoResponseBody> {
2131 MQAdminExt::get_parent_topic_info(self.inner().as_ref(), broker_addr, topic).await
2132 }
2133
2134 async fn get_lite_topic_info(
2135 &self,
2136 broker_addr: CheetahString,
2137 parent_topic: CheetahString,
2138 lite_topic: CheetahString,
2139 ) -> rocketmq_error::RocketMQResult<GetLiteTopicInfoResponseBody> {
2140 MQAdminExt::get_lite_topic_info(self.inner().as_ref(), broker_addr, parent_topic, lite_topic).await
2141 }
2142
2143 async fn get_lite_client_info(
2144 &self,
2145 broker_addr: CheetahString,
2146 parent_topic: CheetahString,
2147 group: CheetahString,
2148 client_id: CheetahString,
2149 ) -> rocketmq_error::RocketMQResult<GetLiteClientInfoResponseBody> {
2150 MQAdminExt::get_lite_client_info(self.inner().as_ref(), broker_addr, parent_topic, group, client_id).await
2151 }
2152
2153 async fn get_lite_group_info(
2154 &self,
2155 broker_addr: CheetahString,
2156 group: CheetahString,
2157 lite_topic: CheetahString,
2158 top_k: i32,
2159 ) -> rocketmq_error::RocketMQResult<GetLiteGroupInfoResponseBody> {
2160 MQAdminExt::get_lite_group_info(self.inner().as_ref(), broker_addr, group, lite_topic, top_k).await
2161 }
2162
2163 async fn trigger_lite_dispatch(
2164 &self,
2165 broker_addr: CheetahString,
2166 group: CheetahString,
2167 client_id: CheetahString,
2168 ) -> rocketmq_error::RocketMQResult<()> {
2169 MQAdminExt::trigger_lite_dispatch(self.inner().as_ref(), broker_addr, group, client_id).await
2170 }
2171
2172 async fn export_rocksdb_config_to_json(
2173 &self,
2174 broker_addr: CheetahString,
2175 config_types: Vec<CheetahString>,
2176 ) -> rocketmq_error::RocketMQResult<()> {
2177 MQAdminExt::export_rocksdb_config_to_json(self.inner().as_ref(), broker_addr, config_types).await
2178 }
2179
2180 async fn search_offset(
2181 &self,
2182 broker_addr: CheetahString,
2183 topic_name: CheetahString,
2184 queue_id: i32,
2185 timestamp: u64,
2186 timeout_millis: u64,
2187 ) -> rocketmq_error::RocketMQResult<u64> {
2188 MQAdminExt::search_offset(
2189 self.inner().as_ref(),
2190 broker_addr,
2191 topic_name,
2192 queue_id,
2193 timestamp,
2194 timeout_millis,
2195 )
2196 .await
2197 }
2198
2199 async fn min_offset(
2200 &self,
2201 broker_addr: CheetahString,
2202 message_queue: MessageQueue,
2203 timeout_millis: u64,
2204 ) -> rocketmq_error::RocketMQResult<i64> {
2205 MQAdminExt::min_offset(self.inner().as_ref(), broker_addr, message_queue, timeout_millis).await
2206 }
2207
2208 async fn max_offset(
2209 &self,
2210 broker_addr: CheetahString,
2211 message_queue: MessageQueue,
2212 timeout_millis: u64,
2213 ) -> rocketmq_error::RocketMQResult<i64> {
2214 MQAdminExt::max_offset(self.inner().as_ref(), broker_addr, message_queue, timeout_millis).await
2215 }
2216}