Skip to main content

StreamInfoStreamReplyWithIdempotency

Struct StreamInfoStreamReplyWithIdempotency 

Source
#[non_exhaustive]
pub struct StreamInfoStreamReplyWithIdempotency { pub base: StreamInfoStreamReply, pub idmp_duration: u32, pub idmp_maxsize: u16, pub pids_tracked: usize, pub iids_tracked: usize, pub iids_added: usize, pub iids_duplicates: usize, }
Expand description

Reply type used with xinfo_stream_with_idempotency command (Redis 8.6+).

This type composes StreamInfoStreamReply with additional idempotency tracking fields introduced in Redis 8.6.

The base stream information is accessible via the base field, while idempotency fields are directly available as top-level fields.

§Example

use redis::{Commands, streams::StreamInfoStreamReplyWithIdempotency};

let info: StreamInfoStreamReplyWithIdempotency = con.xinfo_stream_with_idempotency("stream").unwrap();

// Access base stream info
println!("Stream length: {}", info.base.length);
println!("Last ID: {}", info.base.last_generated_id);

// Access idempotency tracking (Redis 8.6+)
println!("Producers tracked: {}", info.pids_tracked);
println!("Idempotent IDs tracked: {}", info.iids_tracked);
println!("Duplicates prevented: {}", info.iids_duplicates);

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§base: StreamInfoStreamReply

Base stream information

§idmp_duration: u32

The duration in seconds that idempotent IDs are retained in the stream’s IDMP map

§idmp_maxsize: u16

The maximum number of idempotent IDs kept for each producer in the stream’s IDMP map

§pids_tracked: usize

The number of unique producer IDs currently being tracked

§iids_tracked: usize

The total number of idempotent IDs currently stored across all producers

§iids_added: usize

The total count of idempotent IDs that have been added to the stream during its lifetime

§iids_duplicates: usize

The total count of duplicate messages that were detected and prevented by IDMP

Trait Implementations§

Source§

impl Clone for StreamInfoStreamReplyWithIdempotency

Source§

fn clone(&self) -> StreamInfoStreamReplyWithIdempotency

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StreamInfoStreamReplyWithIdempotency

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for StreamInfoStreamReplyWithIdempotency

Source§

fn default() -> StreamInfoStreamReplyWithIdempotency

Returns the “default value” for a type. Read more
Source§

impl FromRedisValue for StreamInfoStreamReplyWithIdempotency

Source§

fn from_redis_value(v: Value) -> Result<Self, ParsingError>

Given a redis Value this attempts to convert it into the given destination type. If that fails because it’s not compatible an appropriate error is generated.
Source§

fn from_redis_value_ref(v: &Value) -> Result<Self, ParsingError>

Given a redis Value this attempts to convert it into the given destination type. If that fails because it’s not compatible an appropriate error is generated.
Source§

fn from_redis_value_refs(items: &[Value]) -> Result<Vec<Self>, ParsingError>

Similar to from_redis_value_ref but constructs a vector of objects from another vector of values. This primarily exists internally to customize the behavior for vectors of tuples.
Source§

fn from_redis_values(items: Vec<Value>) -> Result<Vec<Self>, ParsingError>

The same as from_redis_value_refs, but takes a Vec<Value> instead of a &[Value].
Source§

fn from_each_redis_values(items: Vec<Value>) -> Vec<Result<Self, ParsingError>>

The same as from_redis_values, but returns a result for each conversion to make handling them case-by-case possible.
Source§

fn from_byte_slice(_vec: &[u8]) -> Option<Vec<Self>>

Convert bytes to a single element vector.
Source§

fn from_byte_vec(_vec: Vec<u8>) -> Result<Vec<Self>, ParsingError>

Convert bytes to a single element vector.

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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 T
where U: TryFrom<T>,

Source§

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.