use cheetah_string::CheetahString;
use rocketmq_protocol::protocol::admin::topic_stats_table::TopicStatsTable;
use rocketmq_protocol::protocol::header::get_topic_stats_info_request_header::GetTopicStatsInfoRequestHeader;
use super::default_mq_admin_ext::DefaultMQAdminExt;
#[allow(async_fn_in_trait)]
pub trait MQAdminTopicStatsReadExt: Send {
async fn topic_stats_at(
&self,
broker_addr: CheetahString,
topic: CheetahString,
) -> crate::ClientResult<TopicStatsTable>;
}
impl MQAdminTopicStatsReadExt for DefaultMQAdminExt {
async fn topic_stats_at(
&self,
broker_addr: CheetahString,
topic: CheetahString,
) -> crate::ClientResult<TopicStatsTable> {
self.inner()
.mq_client_api()?
.get_topic_stats_info(
&broker_addr,
GetTopicStatsInfoRequestHeader {
topic,
topic_request_header: None,
},
self.inner().remoting_timeout_millis()?,
)
.await
}
}