pub struct ClientRequestEnvelope {
pub request_id: String,
pub protocol_version: u16,
pub context: ClientContext,
pub deadline_ms: Option<u64>,
pub idempotency_key: Option<String>,
pub request: ClientRequest,
}Expand description
Client request envelope.
Fields§
§request_id: StringStable request id.
protocol_version: u16Negotiated protocol version.
context: ClientContextOptional context.
deadline_ms: Option<u64>Deadline expressed as a logical millisecond timestamp for deterministic tests.
idempotency_key: Option<String>Idempotency key for retry-safe writes.
request: ClientRequestOperation.
Implementations§
Source§impl ClientRequestEnvelope
impl ClientRequestEnvelope
Sourcepub fn new(request_id: impl Into<String>, request: ClientRequest) -> Self
pub fn new(request_id: impl Into<String>, request: ClientRequest) -> Self
Create an envelope for the highest supported protocol version.
Sourcepub fn with_context(self, context: ClientContext) -> Self
pub fn with_context(self, context: ClientContext) -> Self
Attach a context.
Sourcepub fn with_deadline_ms(self, deadline_ms: u64) -> Self
pub fn with_deadline_ms(self, deadline_ms: u64) -> Self
Attach a deadline.
Sourcepub fn with_idempotency_key(self, idempotency_key: impl Into<String>) -> Self
pub fn with_idempotency_key(self, idempotency_key: impl Into<String>) -> Self
Attach an idempotency key.
Sourcepub fn deadline_expired(&self, now_ms: u64) -> bool
pub fn deadline_expired(&self, now_ms: u64) -> bool
Return whether the deadline is expired at a logical timestamp.
Sourcepub fn validate_protocol(&self) -> Result<(), ClientErrorEnvelope>
pub fn validate_protocol(&self) -> Result<(), ClientErrorEnvelope>
Validate the envelope version and operation minimum version.
Trait Implementations§
Source§impl Clone for ClientRequestEnvelope
impl Clone for ClientRequestEnvelope
Source§fn clone(&self) -> ClientRequestEnvelope
fn clone(&self) -> ClientRequestEnvelope
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ClientRequestEnvelope
impl Debug for ClientRequestEnvelope
Source§impl<'de> Deserialize<'de> for ClientRequestEnvelope
impl<'de> Deserialize<'de> for ClientRequestEnvelope
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ClientRequestEnvelope
Source§impl PartialEq for ClientRequestEnvelope
impl PartialEq for ClientRequestEnvelope
Source§fn eq(&self, other: &ClientRequestEnvelope) -> bool
fn eq(&self, other: &ClientRequestEnvelope) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ClientRequestEnvelope
impl Serialize for ClientRequestEnvelope
impl StructuralPartialEq for ClientRequestEnvelope
Auto Trait Implementations§
impl Freeze for ClientRequestEnvelope
impl RefUnwindSafe for ClientRequestEnvelope
impl Send for ClientRequestEnvelope
impl Sync for ClientRequestEnvelope
impl Unpin for ClientRequestEnvelope
impl UnsafeUnpin for ClientRequestEnvelope
impl UnwindSafe for ClientRequestEnvelope
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