Trait ConsumerGroupClient

Source
pub trait ConsumerGroupClient {
    // Required methods
    fn get_consumer_group<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        stream_id: &'life1 Identifier,
        topic_id: &'life2 Identifier,
        group_id: &'life3 Identifier,
    ) -> Pin<Box<dyn Future<Output = Result<Option<ConsumerGroupDetails>, IggyError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn get_consumer_groups<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        stream_id: &'life1 Identifier,
        topic_id: &'life2 Identifier,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<ConsumerGroup>, IggyError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn create_consumer_group<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        stream_id: &'life1 Identifier,
        topic_id: &'life2 Identifier,
        name: &'life3 str,
        group_id: Option<u32>,
    ) -> Pin<Box<dyn Future<Output = Result<ConsumerGroupDetails, IggyError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn delete_consumer_group<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        stream_id: &'life1 Identifier,
        topic_id: &'life2 Identifier,
        group_id: &'life3 Identifier,
    ) -> Pin<Box<dyn Future<Output = Result<(), IggyError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn join_consumer_group<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        stream_id: &'life1 Identifier,
        topic_id: &'life2 Identifier,
        group_id: &'life3 Identifier,
    ) -> Pin<Box<dyn Future<Output = Result<(), IggyError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn leave_consumer_group<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        stream_id: &'life1 Identifier,
        topic_id: &'life2 Identifier,
        group_id: &'life3 Identifier,
    ) -> Pin<Box<dyn Future<Output = Result<(), IggyError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
}
Expand description

This trait defines the methods to interact with the consumer group module.

Required Methods§

Source

fn get_consumer_group<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, stream_id: &'life1 Identifier, topic_id: &'life2 Identifier, group_id: &'life3 Identifier, ) -> Pin<Box<dyn Future<Output = Result<Option<ConsumerGroupDetails>, IggyError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Get the info about a specific consumer group by unique ID or name for the given stream and topic by unique IDs or names.

Authentication is required, and the permission to read the streams or topics.

Source

fn get_consumer_groups<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, stream_id: &'life1 Identifier, topic_id: &'life2 Identifier, ) -> Pin<Box<dyn Future<Output = Result<Vec<ConsumerGroup>, IggyError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Get the info about all the consumer groups for the given stream and topic by unique IDs or names.

Authentication is required, and the permission to read the streams or topics.

Source

fn create_consumer_group<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, stream_id: &'life1 Identifier, topic_id: &'life2 Identifier, name: &'life3 str, group_id: Option<u32>, ) -> Pin<Box<dyn Future<Output = Result<ConsumerGroupDetails, IggyError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Create a new consumer group for the given stream and topic by unique IDs or names.

Authentication is required, and the permission to manage the streams or topics.

Source

fn delete_consumer_group<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, stream_id: &'life1 Identifier, topic_id: &'life2 Identifier, group_id: &'life3 Identifier, ) -> Pin<Box<dyn Future<Output = Result<(), IggyError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Delete a consumer group by unique ID or name for the given stream and topic by unique IDs or names.

Authentication is required, and the permission to manage the streams or topics.

Source

fn join_consumer_group<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, stream_id: &'life1 Identifier, topic_id: &'life2 Identifier, group_id: &'life3 Identifier, ) -> Pin<Box<dyn Future<Output = Result<(), IggyError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Join a consumer group by unique ID or name for the given stream and topic by unique IDs or names.

Authentication is required, and the permission to read the streams or topics.

Source

fn leave_consumer_group<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, stream_id: &'life1 Identifier, topic_id: &'life2 Identifier, group_id: &'life3 Identifier, ) -> Pin<Box<dyn Future<Output = Result<(), IggyError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Leave a consumer group by unique ID or name for the given stream and topic by unique IDs or names.

Authentication is required, and the permission to read the streams or topics.

Implementors§