Struct bigtable_rs::google::bigtable::v2::read_change_stream_response::DataChange
source · pub struct DataChange {
pub type: i32,
pub source_cluster_id: String,
pub row_key: Vec<u8>,
pub commit_timestamp: Option<Timestamp>,
pub tiebreaker: i32,
pub chunks: Vec<MutationChunk>,
pub done: bool,
pub token: String,
pub estimated_low_watermark: Option<Timestamp>,
}
Expand description
A message corresponding to one or more mutations to the partition
being streamed. A single logical DataChange
message may also be split
across a sequence of multiple individual messages. Messages other than
the first in a sequence will only have the type
and chunks
fields
populated, with the final message in the sequence also containing done
set to true.
Fields§
§type: i32
The type of the mutation.
source_cluster_id: String
The cluster where the mutation was applied.
Not set when type
is GARBAGE_COLLECTION
.
row_key: Vec<u8>
The row key for all mutations that are part of this DataChange
.
If the DataChange
is chunked across multiple messages, then this field
will only be set for the first message.
commit_timestamp: Option<Timestamp>
The timestamp at which the mutation was applied on the Bigtable server.
tiebreaker: i32
A value that lets stream consumers reconstruct Bigtable’s
conflict resolution semantics.
https://cloud.google.com/bigtable/docs/writes#conflict-resolution
In the event that the same row key, column family, column qualifier,
timestamp are modified on different clusters at the same
commit_timestamp
, the mutation with the larger tiebreaker
will be the
one chosen for the eventually consistent state of the system.
chunks: Vec<MutationChunk>
The mutations associated with this change to the partition.
May contain complete mutations or chunks of a multi-message chunked
DataChange
record.
done: bool
When true, indicates that the entire DataChange
has been read
and the client can safely process the message.
token: String
An encoded position for this stream’s partition to restart reading from. This token is for the StreamPartition from the request.
estimated_low_watermark: Option<Timestamp>
An estimate of the commit timestamp that is usually lower than or equal to any timestamp for a record that will be delivered in the future on the stream. It is possible that, under particular circumstances that a future record has a timestamp is is lower than a previously seen timestamp. For an example usage see https://beam.apache.org/documentation/basics/#watermarks
Implementations§
Trait Implementations§
source§impl Clone for DataChange
impl Clone for DataChange
source§fn clone(&self) -> DataChange
fn clone(&self) -> DataChange
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for DataChange
impl Debug for DataChange
source§impl Default for DataChange
impl Default for DataChange
source§impl<'de> Deserialize<'de> for DataChange
impl<'de> Deserialize<'de> for DataChange
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Message for DataChange
impl Message for DataChange
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for DataChange
impl PartialEq for DataChange
source§impl Serialize for DataChange
impl Serialize for DataChange
impl StructuralPartialEq for DataChange
Auto Trait Implementations§
impl Freeze for DataChange
impl RefUnwindSafe for DataChange
impl Send for DataChange
impl Sync for DataChange
impl Unpin for DataChange
impl UnwindSafe for DataChange
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request