Trait MQPushConsumer

Source
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§

Source

async fn start(&mut self) -> RocketMQResult<()>

Starts the push consumer.

§Returns
  • rocketmq_error::RocketMQResult<()> - An empty result indicating success or an error.
Source

async fn shutdown(&mut self)

Shuts down the push consumer.

Source

fn register_message_listener_concurrently_fn<MLCFN>( &mut self, message_listener: MLCFN, )

Registers a message listener for concurrent message consumption.

§Parameters
  • message_listener - A closure that processes a batch of messages and returns a status.
§Type Parameters
  • MLC - The type of the message listener closure.
Source

fn register_message_listener_concurrently<ML>(&mut self, message_listener: ML)
where ML: MessageListenerConcurrently + Send + Sync + 'static,

Source

async fn register_message_listener_orderly_fn<MLOFN>( &mut self, message_listener: MLOFN, )

Registers a message listener for orderly message consumption.

§Parameters
  • message_listener - A closure that processes a batch of messages and returns a status.
§Type Parameters
  • MLO - The type of the message listener closure.
Source

fn register_message_listener_orderly<ML>(&mut self, message_listener: ML)
where ML: MessageListenerOrderly + Send + Sync + 'static,

Source

fn subscribe(&mut self, topic: &str, sub_expression: &str) -> RocketMQResult<()>

Subscribes to a topic with a subscription expression.

§Parameters
  • topic - The topic to subscribe to.
  • sub_expression - The subscription expression.
§Returns
  • rocketmq_error::RocketMQResult<()> - An empty result indicating success or an error.
Source

async fn subscribe_with_selector( &mut self, topic: &str, selector: Option<MessageSelector>, ) -> RocketMQResult<()>

Subscribes to a topic with an optional message selector.

§Parameters
  • topic - The topic to subscribe to.
  • selector - An optional message selector.
§Returns
  • rocketmq_error::RocketMQResult<()> - An empty result indicating success or an error.
Source

async fn unsubscribe(&mut self, topic: &str)

Unsubscribes from a topic.

§Parameters
  • topic - The topic to unsubscribe from.
Source

async fn suspend(&mut self)

Suspends the push consumer.

Source

async fn resume(&mut self)

Resumes the push consumer.

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.

Implementors§