pub struct RpcEnvelope {
pub route_key: String,
pub payload: Option<Bytes>,
pub error: Option<ErrorResponse>,
pub traceparent: Option<String>,
pub tracestate: Option<String>,
pub request_id: String,
pub metadata: Vec<MetadataEntry>,
pub timeout_ms: i64,
}Expand description
RpcEnvelope wraps State Path RPC messages
Fields§
§route_key: StringRoute key: “package.Service.Method”
payload: Option<Bytes>Payload for successful RPC (request or response) Optional: when error is present, payload should be empty
error: Option<ErrorResponse>System-level error (envelope layer) Examples: UnknownRoute, DeserializationError, Panic, InvalidStateTransition Business errors should be in the response message payload
traceparent: Option<String>W3C trace context header values (for distributed tracing)
W3C trace context header value
tracestate: Option<String>W3C trace state header value
request_id: String§metadata: Vec<MetadataEntry>§timeout_ms: i64Implementations§
Source§impl RpcEnvelope
impl RpcEnvelope
Sourcepub fn payload(&self) -> &[u8] ⓘ
pub fn payload(&self) -> &[u8] ⓘ
Returns the value of payload, or the default value if payload is unset.
Sourcepub fn traceparent(&self) -> &str
pub fn traceparent(&self) -> &str
Returns the value of traceparent, or the default value if traceparent is unset.
Sourcepub fn tracestate(&self) -> &str
pub fn tracestate(&self) -> &str
Returns the value of tracestate, or the default value if tracestate is unset.
Trait Implementations§
Source§impl Clone for RpcEnvelope
impl Clone for RpcEnvelope
Source§fn clone(&self) -> RpcEnvelope
fn clone(&self) -> RpcEnvelope
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RpcEnvelope
impl Debug for RpcEnvelope
Source§impl Default for RpcEnvelope
impl Default for RpcEnvelope
Source§impl Message for RpcEnvelope
impl Message for RpcEnvelope
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
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,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
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,
Encodes the message with a length-delimiter to a buffer. Read more
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,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
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,
Decodes a length-delimited instance of the message from the buffer.
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,
Decodes an instance of the message from a buffer, and merges it into
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,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.Source§impl PartialEq for RpcEnvelope
impl PartialEq for RpcEnvelope
impl StructuralPartialEq for RpcEnvelope
Auto Trait Implementations§
impl !Freeze for RpcEnvelope
impl RefUnwindSafe for RpcEnvelope
impl Send for RpcEnvelope
impl Sync for RpcEnvelope
impl Unpin for RpcEnvelope
impl UnwindSafe for RpcEnvelope
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
Mutably borrows from an owned value. Read more