pub struct RedisConsumer { /* private fields */ }
Expand description

The Redis Consumer.

Implementations§

source§

impl RedisConsumer

source

pub fn group_id(&self) -> Option<&ConsumerGroup>

Get the assigned group id.

source

pub fn consumer_id(&self) -> Option<&ConsumerId>

Get the assigned consumer id.

source

pub fn stream_shards(&self) -> &[(StreamKey, ShardId)]

Return the stream-shards this consumer has been assigned. On create, it will self-assign all shards.

source

pub async fn seek_to(&mut self, id: MessageId) -> RedisResult<()>

Like Consumer::seek, but with MessageId.

source

pub fn ack(&self, msg: &SharedMessage) -> RedisResult<()>

Mark a message as read. The ACK will be queued for commit.

source

pub fn ack_with( &self, (stream_key, shard_id, sequence): &(StreamKey, ShardId, SeqNo) ) -> RedisResult<()>

source

pub fn commit(&mut self) -> RedisResult<impl Future<Output = RedisResult<()>>>

Commit all pending acks and (optionally) wait for the result.

source

pub fn commit_asap(&mut self) -> RedisResult<()>

Push a Commit request to the command queue, will be executed on the next cycle

source

pub async fn end(self) -> RedisResult<()>

Commit all pending acks and end the consumer.

Trait Implementations§

source§

impl Consumer for RedisConsumer

§

type Error = RedisErr

§

type Message<'a> = SharedMessage

§

type NextFuture<'a> = NextFuture<'a>

§

type Stream<'a> = StreamFuture<'a>

source§

fn seek<'life0, 'async_trait>( &'life0 mut self, ts: Timestamp ) -> Pin<Box<dyn Future<Output = RedisResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Seek all streams to an arbitrary point in time. It will start consuming from the earliest message with a timestamp later than to. Read more
source§

fn rewind<'life0, 'async_trait>( &'life0 mut self, pos: SeqPos ) -> Pin<Box<dyn Future<Output = RedisResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Rewind all streams to a particular sequence number. Read more
source§

fn assign(&mut self, (stream, shard): (StreamKey, ShardId)) -> RedisResult<()>

Assign this consumer to a particular shard. Can be called multiple times to assign to multiple shards. Returns error StreamKeyNotFound if the stream is not currently subscribed. Read more
source§

fn unassign(&mut self, s: (StreamKey, ShardId)) -> RedisResult<()>

Unassign a shard. Returns error StreamKeyNotFound if the stream is not currently subscribed. Returns error StreamKeyEmpty if all streams have been unassigned.
source§

fn next(&self) -> NextFuture<'_> ⓘ

Poll and receive one message: it awaits until there are new messages. This method can be called from multiple threads.
source§

fn stream<'a, 'b: 'a>(&'b mut self) -> Self::Stream<'a>

Returns an async stream. You cannot create multiple streams from the same consumer, nor perform any operation while streaming.
source§

impl Debug for RedisConsumer

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more