Struct MultiWriter

Source
pub struct MultiWriter<'a> { /* private fields */ }
Expand description

MultiWriter commits write and condition check operations in one request to achieve transaction like semantics.

Implementations§

Source§

impl<'a> MultiWriter<'a>

Source

pub fn add_check_version( &mut self, path: &str, version: i32, ) -> Result<(), Error>

Adds operation to check version for node with given path.

§Notable behaviors

Effects of changes to data of given path in preceding operations affect this operation.

Source

pub fn add_create( &mut self, path: &str, data: &[u8], options: &CreateOptions<'_>, ) -> Result<(), Error>

Adds operation to create node with given path and data.

See Client::create for more details.

§Notable behaviors

MultiWriteResult::Create::stat could be Stat::is_invalid due to bugs in ZooKeeper server. See ZOOKEEPER-4026 and ZOOKEEPER-4667 for reference.

Source

pub fn add_set_data( &mut self, path: &str, data: &[u8], expected_version: Option<i32>, ) -> Result<(), Error>

Adds operation to set data for node with given path.

See Client::set_data for more details.

Source

pub fn add_delete( &mut self, path: &str, expected_version: Option<i32>, ) -> Result<(), Error>

Adds operation to delete node with given path.

See Client::delete for more details.

Source

pub fn commit( &mut self, ) -> impl Future<Output = Result<Vec<MultiWriteResult>, MultiWriteError>> + Send + 'a

Commits multiple operations in one request to write transactionally.

§Notable behaviors

Failure of individual operation will fail whole request and commit no effect in server.

§Notable errors
Source

pub fn abort(&mut self)

Clears collected operations.

Auto Trait Implementations§

§

impl<'a> Freeze for MultiWriter<'a>

§

impl<'a> !RefUnwindSafe for MultiWriter<'a>

§

impl<'a> Send for MultiWriter<'a>

§

impl<'a> Sync for MultiWriter<'a>

§

impl<'a> Unpin for MultiWriter<'a>

§

impl<'a> !UnwindSafe for MultiWriter<'a>

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

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. 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<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