Struct pravega_client::sync::synchronizer::Update

source ·
pub struct Update { /* private fields */ }
Expand description

The Update contains a nested map and a version map, which are the same map in synchronizer but will be updated instantly when caller calls Insert or Remove method. It is used to update the server side of table and its updates will be applied to synchronizer once the updates are successfully stored on the server side.

Implementations§

source§

impl Update

source

pub fn new( map: HashMap<String, HashMap<String, Value>>, map_version: HashMap<String, Value>, insert: Vec<Insert>, remove: Vec<Remove> ) -> Self

source

pub fn insert( &mut self, outer_key: String, inner_key: String, type_id: String, new_value: Box<dyn ValueData> )

insert method needs an outer_key and an inner_key to find a value. It will update the map inside the Table.

source

pub fn insert_tombstone( &mut self, outer_key: String, inner_key: String ) -> Result<(), SynchronizerError>

insert_tombstone method replaces the original value with a tombstone, which means that this key value pair is invalid and will be removed later. The reason of adding a tombstone is to guarantee the atomicity of a remove-and-insert operation.

source

pub fn retain(&mut self, outer_key: String)

retain a specific map to make sure it’s not altered by other processes when an update is being made that depends on it. Notice that this method only needs to be called when this dependent map is not being updated, since any modifications to a map on server side will use a version to make sure the update is based on the latest change.

source

pub fn get(&self, outer_key: &str, inner_key: &str) -> Option<&Value>

get method will take an outer_key and an inner_key and return the valid value. It will not return value hinted by tombstone.

source

pub fn get_inner_map(&self, outer_key: &str) -> HashMap<String, Value>

get_inner_map method will take an outer_key return the outer map. The returned outer map will not contain value hinted by tombstone.

source

pub fn contains_key(&self, outer_key: &str, inner_key: &str) -> bool

Check if an inner key exists. The tombstoned value will return a false.

source

pub fn contains_outer_key(&self, outer_key: &str) -> bool

Check if an outer_key exists. The tombstoned value will return a false.

source

pub fn is_empty(&self) -> bool

Auto Trait Implementations§

§

impl Freeze for Update

§

impl RefUnwindSafe for Update

§

impl Send for Update

§

impl Sync for Update

§

impl Unpin for Update

§

impl UnwindSafe for Update

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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

§

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

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
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