pub trait AsConsumer: Sized {
    type Error;
    type Offset: IsOffset;
    type Meta: IsMeta;
    type Data: IntoIterator<Item = Result<RawBlock, Self::Error>>;

    // Required methods
    fn subscribe<T: Into<String>, I: IntoIterator<Item = T> + Send>(
        &mut self,
        topics: I
    ) -> Result<(), Self::Error>;
    fn recv_timeout(
        &self,
        timeout: Timeout
    ) -> Result<Option<(Self::Offset, MessageSet<Self::Meta, Self::Data>)>, Self::Error>;
    fn commit(&self, offset: Self::Offset) -> Result<(), Self::Error>;

    // Provided methods
    fn default_timeout(&self) -> Timeout { ... }
    fn recv(
        &self
    ) -> Result<Option<(Self::Offset, MessageSet<Self::Meta, Self::Data>)>, Self::Error> { ... }
    fn iter_data_only(
        &self,
        timeout: Timeout
    ) -> Box<dyn Iterator<Item = Result<(Self::Offset, Self::Data), Self::Error>> + '_> { ... }
    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 ) -> Result<(), Self::Error>

source

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

None means wait until next message come.

source

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

Provided Methods§

source

fn default_timeout(&self) -> Timeout

Default timeout getter for message stream.

source

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

source

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

source

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

source

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

source

fn unsubscribe(self)

Implementors§