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
impl StreamConfigOptions
Sourcepub fn with_idempotency_seconds(seconds: u32) -> Result<Self, String>
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)
Sourcepub fn with_idempotency_maxsize(size: u16) -> Result<Self, String>
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)
Sourcepub fn idempotency_seconds(self, seconds: u32) -> Result<Self, String>
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)
Sourcepub fn idempotency_maxsize(self, size: u16) -> Result<Self, String>
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
impl Debug for StreamConfigOptions
Source§impl ToRedisArgs for StreamConfigOptions
impl ToRedisArgs for StreamConfigOptions
Source§fn write_redis_args<W>(&self, out: &mut W)where
W: ?Sized + RedisWrite,
fn write_redis_args<W>(&self, out: &mut W)where
W: ?Sized + RedisWrite,
Source§fn to_redis_args(&self) -> Vec<Vec<u8>>
fn to_redis_args(&self) -> Vec<Vec<u8>>
Source§fn describe_numeric_behavior(&self) -> NumericBehavior
fn describe_numeric_behavior(&self) -> NumericBehavior
INCR vs INCRBYFLOAT).