pub trait MQPushConsumer: MQConsumer {
// Required methods
async fn start(&mut self) -> RocketMQResult<()>;
async fn shutdown(&mut self);
fn register_message_listener_concurrently_fn<MLCFN>(
&mut self,
message_listener: MLCFN,
)
where MLCFN: Fn(Vec<MessageExt>, ConsumeConcurrentlyContext) -> RocketMQResult<ConsumeConcurrentlyStatus> + Send + Sync;
fn register_message_listener_concurrently<ML>(
&mut self,
message_listener: ML,
)
where ML: MessageListenerConcurrently + Send + Sync + 'static;
async fn register_message_listener_orderly_fn<MLOFN>(
&mut self,
message_listener: MLOFN,
)
where MLOFN: Fn(Vec<MessageExt>, ConsumeOrderlyContext) -> RocketMQResult<ConsumeOrderlyStatus> + Send + Sync;
fn register_message_listener_orderly<ML>(&mut self, message_listener: ML)
where ML: MessageListenerOrderly + Send + Sync + 'static;
fn subscribe(
&mut self,
topic: &str,
sub_expression: &str,
) -> RocketMQResult<()>;
async fn subscribe_with_selector(
&mut self,
topic: &str,
selector: Option<MessageSelector>,
) -> RocketMQResult<()>;
async fn unsubscribe(&mut self, topic: &str);
async fn suspend(&mut self);
async fn resume(&mut self);
}
Expand description
The MQPushConsumer
trait defines the interface for a push consumer in RocketMQ.
A push consumer receives messages from the broker and processes them using registered listeners.
Required Methods§
Sourceasync fn start(&mut self) -> RocketMQResult<()>
async fn start(&mut self) -> RocketMQResult<()>
Starts the push consumer.
§Returns
rocketmq_error::RocketMQResult<()>
- An empty result indicating success or an error.
Sourcefn register_message_listener_concurrently_fn<MLCFN>(
&mut self,
message_listener: MLCFN,
)where
MLCFN: Fn(Vec<MessageExt>, ConsumeConcurrentlyContext) -> RocketMQResult<ConsumeConcurrentlyStatus> + Send + Sync,
fn register_message_listener_concurrently_fn<MLCFN>(
&mut self,
message_listener: MLCFN,
)where
MLCFN: Fn(Vec<MessageExt>, ConsumeConcurrentlyContext) -> RocketMQResult<ConsumeConcurrentlyStatus> + Send + Sync,
fn register_message_listener_concurrently<ML>(&mut self, message_listener: ML)
Sourceasync fn register_message_listener_orderly_fn<MLOFN>(
&mut self,
message_listener: MLOFN,
)where
MLOFN: Fn(Vec<MessageExt>, ConsumeOrderlyContext) -> RocketMQResult<ConsumeOrderlyStatus> + Send + Sync,
async fn register_message_listener_orderly_fn<MLOFN>(
&mut self,
message_listener: MLOFN,
)where
MLOFN: Fn(Vec<MessageExt>, ConsumeOrderlyContext) -> RocketMQResult<ConsumeOrderlyStatus> + Send + Sync,
fn register_message_listener_orderly<ML>(&mut self, message_listener: ML)
Sourceasync fn subscribe_with_selector(
&mut self,
topic: &str,
selector: Option<MessageSelector>,
) -> RocketMQResult<()>
async fn subscribe_with_selector( &mut self, topic: &str, selector: Option<MessageSelector>, ) -> RocketMQResult<()>
Sourceasync fn unsubscribe(&mut self, topic: &str)
async fn unsubscribe(&mut self, topic: &str)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.