use std::any::Any;
use rocketmq_common::common::message::message_enum::MessageRequestMode;
pub trait MessageRequest: MessageRequestAny {
fn get_message_request_mode(&self) -> MessageRequestMode;
}
pub trait MessageRequestAny: Any {
fn as_any_mut(&mut self) -> &mut dyn Any;
fn as_any(&self) -> &dyn Any;
fn into_any(self: Box<Self>) -> Box<dyn Any + Send>;
}
impl<T: MessageRequest + Send> MessageRequestAny for T {
fn as_any_mut(&mut self) -> &mut dyn Any {
self
}
fn as_any(&self) -> &dyn Any {
self
}
fn into_any(self: Box<Self>) -> Box<dyn Any + Send> {
self
}
}