Struct google_api_proto::google::firestore::v1::ExistenceFilter
source · pub struct ExistenceFilter {
pub target_id: i32,
pub count: i32,
pub unchanged_names: Option<BloomFilter>,
}
Expand description
A digest of all the documents that match a given target.
Fields§
§target_id: i32
The target ID to which this filter applies.
count: i32
The total count of documents that match [target_id][google.firestore.v1.ExistenceFilter.target_id].
If different from the count of documents in the client that match, the client must manually determine which documents no longer match the target.
The client can use the unchanged_names
bloom filter to assist with
this determination by testing ALL the document names against the filter;
if the document name is NOT in the filter, it means the document no
longer matches the target.
unchanged_names: Option<BloomFilter>
A bloom filter that, despite its name, contains the UTF-8 byte encodings of
the resource names of ALL the documents that match
[target_id][google.firestore.v1.ExistenceFilter.target_id], in the form
projects/{project_id}/databases/{database_id}/documents/{document_path}
.
This bloom filter may be omitted at the server’s discretion, such as if it is deemed that the client will not make use of it or if it is too computationally expensive to calculate or transmit. Clients must gracefully handle this field being absent by falling back to the logic used before this field existed; that is, re-add the target without a resume token to figure out which documents in the client’s cache are out of sync.
Trait Implementations§
source§impl Clone for ExistenceFilter
impl Clone for ExistenceFilter
source§fn clone(&self) -> ExistenceFilter
fn clone(&self) -> ExistenceFilter
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ExistenceFilter
impl Debug for ExistenceFilter
source§impl Default for ExistenceFilter
impl Default for ExistenceFilter
source§impl Message for ExistenceFilter
impl Message for ExistenceFilter
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
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<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
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<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
self
. Read moresource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
self
.source§impl PartialEq for ExistenceFilter
impl PartialEq for ExistenceFilter
source§fn eq(&self, other: &ExistenceFilter) -> bool
fn eq(&self, other: &ExistenceFilter) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for ExistenceFilter
Auto Trait Implementations§
impl !Freeze for ExistenceFilter
impl RefUnwindSafe for ExistenceFilter
impl Send for ExistenceFilter
impl Sync for ExistenceFilter
impl Unpin for ExistenceFilter
impl UnwindSafe for ExistenceFilter
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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