Trait taos_query::tmq::AsConsumer
source · 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§
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<()>
sourcefn recv_timeout(
&self,
timeout: Timeout
) -> RawResult<Option<(Self::Offset, MessageSet<Self::Meta, Self::Data>)>>
fn recv_timeout( &self, timeout: Timeout ) -> RawResult<Option<(Self::Offset, MessageSet<Self::Meta, Self::Data>)>>
None means wait until next message come.
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§
sourcefn default_timeout(&self) -> Timeout
fn default_timeout(&self) -> Timeout
Default timeout getter for message stream.