pub trait AsConsumer: Sized {
    type Offset: IsOffset;
    type Meta: IsMeta;
    type Data: IntoIterator<Item = RawResult<RawBlock>>;

    // Required methods
    fn subscribe<T: Into<String>, I: IntoIterator<Item = T> + Send>(
        &mut self,
        topics: I
    ) -> RawResult<()>;
    fn recv_timeout(
        &self,
        timeout: Timeout
    ) -> RawResult<Option<(Self::Offset, MessageSet<Self::Meta, Self::Data>)>>;
    fn commit(&self, offset: Self::Offset) -> RawResult<()>;
    fn assignments(&self) -> Option<Vec<(String, Vec<Assignment>)>>;
    fn offset_seek(
        &mut self,
        topic: &str,
        vg_id: VGroupId,
        offset: i64
    ) -> RawResult<()>;

    // Provided methods
    fn default_timeout(&self) -> Timeout { ... }
    fn recv(
        &self
    ) -> RawResult<Option<(Self::Offset, MessageSet<Self::Meta, Self::Data>)>> { ... }
    fn iter_data_only(
        &self,
        timeout: Timeout
    ) -> Box<dyn Iterator<Item = RawResult<(Self::Offset, Self::Data)>> + '_> { ... }
    fn iter_with_timeout(&self, timeout: Timeout) -> MessageSetsIter<'_, Self>  { ... }
    fn iter(&self) -> MessageSetsIter<'_, Self>  { ... }
    fn unsubscribe(self) { ... }
}

Required Associated Types§

Required Methods§

source

fn subscribe<T: Into<String>, I: IntoIterator<Item = T> + Send>( &mut self, topics: I ) -> RawResult<()>

source

fn recv_timeout( &self, timeout: Timeout ) -> RawResult<Option<(Self::Offset, MessageSet<Self::Meta, Self::Data>)>>

None means wait until next message come.

source

fn commit(&self, offset: Self::Offset) -> RawResult<()>

source

fn assignments(&self) -> Option<Vec<(String, Vec<Assignment>)>>

source

fn offset_seek( &mut self, topic: &str, vg_id: VGroupId, offset: i64 ) -> RawResult<()>

Provided Methods§

source

fn default_timeout(&self) -> Timeout

Default timeout getter for message stream.

source

fn recv( &self ) -> RawResult<Option<(Self::Offset, MessageSet<Self::Meta, Self::Data>)>>

source

fn iter_data_only( &self, timeout: Timeout ) -> Box<dyn Iterator<Item = RawResult<(Self::Offset, Self::Data)>> + '_>

source

fn iter_with_timeout(&self, timeout: Timeout) -> MessageSetsIter<'_, Self>

source

fn iter(&self) -> MessageSetsIter<'_, Self>

source

fn unsubscribe(self)

Implementors§