Skip to main content

StreamAddOptions

Struct StreamAddOptions 

Source
pub struct StreamAddOptions { /* private fields */ }
Available on crate feature streams only.
Expand description

Builder options for xadd_options command

Implementations§

Source§

impl StreamAddOptions

Source

pub fn nomkstream(self) -> Self

Set the NOMKSTREAM flag on which prevents creating a stream for the XADD operation

Source

pub fn trim(self, trim: StreamTrimStrategy) -> Self

Enable trimming when adding using the given trim strategy

Source

pub fn set_deletion_policy(self, deletion_policy: StreamDeletionPolicy) -> Self

Set the deletion policy for the XADD operation

Source

pub fn idmp( self, producer_id: impl Into<String>, idempotent_id: impl Into<String>, ) -> Self

Enable idempotent message production with manual mode (IDMP)

Manual mode requires both producer ID and idempotent ID to be provided. The producer ID uniquely identifies the message producer. The idempotent ID uniquely identifies this specific message.

§Example
use redis::{Commands, streams::StreamAddOptions};

let opts = StreamAddOptions::default()
    .idmp("producer-1", "iid-1");
let _: Option<String> = con.xadd_options(
    "key",
    "*",
    &[("field", "value")],
    &opts
).unwrap();
Source

pub fn idmpauto(self, producer_id: impl Into<String>) -> Self

Enable idempotent message production with automatic mode (IDMPAUTO)

Automatic mode requires only a producer ID to be provided. Redis automatically generates the idempotent ID based on the message content.

§Example
use redis::{Commands, streams::StreamAddOptions};

let opts = StreamAddOptions::default()
    .idmpauto("producer-1");
let _: Option<String> = con.xadd_options(
    "key",
    "*",
    &[("field", "value")],
    &opts
).unwrap();

Trait Implementations§

Source§

impl Debug for StreamAddOptions

Source§

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

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

impl Default for StreamAddOptions

Source§

fn default() -> StreamAddOptions

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

impl ToRedisArgs for StreamAddOptions

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> ErasedDestructor for T
where T: 'static,

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 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> MaybeSendSync for T

Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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