pub struct Request {
pub target: String,
pub resume_marker: Bytes,
}
Expand description
The message used by the client to register interest in an entity.
Fields§
§target: String
The target
value must be a valid URL path pointing to an entity
to watch. Note that the service name must be
removed from the target field (e.g., the target field must say
“/foo/bar”, not “myservice.googleapis.com/foo/bar”). A client is
also allowed to pass system-specific parameters in the URL that
are only obeyed by some implementations. Some parameters will be
implementation-specific. However, some have predefined meaning
and are listed here:
-
recursive = true|false [default=false] If set to true, indicates that the client wants to watch all elements of entities in the subtree rooted at the entity’s name in
target
. For descendants that are not the immediate children of the target, theChange.element
will contain slashes.Note that some namespaces and entities will not support recursive watching. When watching such an entity, a client must not set recursive to true. Otherwise, it will receive an
UNIMPLEMENTED
error.
Normal URL encoding must be used inside target
. For example, if a query
parameter name or value, or the non-query parameter portion of target
contains a special character, it must be %-encoded. We recommend that
clients and servers use their runtime’s URL library to produce and consume
target values.
resume_marker: Bytes
The resume_marker
specifies how much of the existing underlying state is
delivered to the client when the watch request is received by the
system. The client can set this marker in one of the following ways to get
different semantics:
-
Parameter is not specified or has the value “”. Semantics: Fetch initial state. The client wants the entity’s initial state to be delivered. See the description in “Initial State”.
-
Parameter is set to the string “now” (UTF-8 encoding). Semantics: Fetch new changes only. The client just wants to get the changes received by the system after the watch point. The system may deliver changes from before the watch point as well.
-
Parameter is set to a value received in an earlier
Change.resume_marker
field while watching the same entity. Semantics: Resume from a specific point. The client wants to receive the changes from a specific point; this value must correspond to a value received in theChange.resume_marker
field. The system may deliver changes from before theresume_marker
as well. If the system cannot resume the stream from this point (e.g., if it is too far behind in the stream), it can raise theFAILED_PRECONDITION
error.
An implementation MUST support an unspecified parameter and the empty string “” marker (initial state fetching) and the “now” marker. It need not support resuming from a specific point.
Trait Implementations§
source§impl Message for Request
impl Message for Request
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 Request
impl PartialEq for Request
impl StructuralPartialEq for Request
Auto Trait Implementations§
impl !Freeze for Request
impl RefUnwindSafe for Request
impl Send for Request
impl Sync for Request
impl Unpin for Request
impl UnwindSafe for Request
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