Skip to main content

StreamConfigOptions

Struct StreamConfigOptions 

Source
pub struct StreamConfigOptions { /* private fields */ }
Expand description

Configuration options for xcfgset command

Configures idempotency parameters for a stream. Use the constructor methods to create an instance with at least one parameter set, or use the setter methods to add parameters to an existing instance.

§Example

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

// Create with idempotency duration in seconds, optionally add maxsize
let opts1 = StreamConfigOptions::with_idempotency_seconds(300)
    .unwrap()
    .idempotency_maxsize(1000)
    .unwrap();
let _: String = con.xcfgset("key", &opts1).unwrap();

// Or create with maxsize only and optionally add idempotency duration in seconds
let opts2 = StreamConfigOptions::with_idempotency_maxsize(500)
    .unwrap()
    .idempotency_seconds(300)
    .unwrap();
let _: String = con.xcfgset("key", &opts2).unwrap();

Implementations§

Source§

impl StreamConfigOptions

Source

pub fn with_idempotency_seconds(seconds: u32) -> Result<Self, String>

Create configuration options with IDMP-DURATION parameter

Sets the duration in seconds that each idempotent ID (iid) is kept in the stream’s IDMP map. Default: 100 seconds.

§Errors

Returns an error if seconds is not in the valid range 1..=86400 (see IDMP_DURATION_MIN and IDMP_DURATION_MAX)

Source

pub fn with_idempotency_maxsize(size: u16) -> Result<Self, String>

Create configuration options with IDMP-MAXSIZE parameter

Sets the maximum number of most recent idempotent IDs kept for each producer in the stream’s IDMP map. Default: 100 entries.

§Errors

Returns an error if size is not in the valid range 1..=10000 (see IDMP_MAXSIZE_MIN and IDMP_MAXSIZE_MAX)

Source

pub fn idempotency_seconds(self, seconds: u32) -> Result<Self, String>

Set or update the IDMP-DURATION parameter

§Errors

Returns an error if seconds is not in the valid range 1..=86400 (see IDMP_DURATION_MIN and IDMP_DURATION_MAX)

Source

pub fn idempotency_maxsize(self, size: u16) -> Result<Self, String>

Set or update the IDMP-MAXSIZE parameter

§Errors

Returns an error if size is not in the valid range 1..=10000 (see IDMP_MAXSIZE_MIN and IDMP_MAXSIZE_MAX)

Trait Implementations§

Source§

impl Debug for StreamConfigOptions

Source§

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

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

impl ToRedisArgs for StreamConfigOptions

Source§

fn write_redis_args<W>(&self, out: &mut W)
where W: ?Sized + RedisWrite,

This writes the value into a vector of bytes. Each item is a single argument. Most items generate a single item. Read more
Source§

fn to_redis_args(&self) -> Vec<Vec<u8>>

This converts the value into a vector of bytes. Each item is a single argument. Most items generate a vector of a single item. Read more
Source§

fn describe_numeric_behavior(&self) -> NumericBehavior

Returns an information about the contained value with regards to it’s numeric behavior in a redis context. This is used in some high level concepts to switch between different implementations of redis functions (for instance INCR vs INCRBYFLOAT).
Source§

fn num_of_args(&self) -> usize

Returns the number of arguments this value will generate. Read more

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> 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, 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.