pub struct ClientResponse {
pub error: i32,
pub metadata: Option<ErrorMetadata>,
pub success_result: Option<SuccessResult>,
}
Fields§
§error: i32
§metadata: Option<ErrorMetadata>
§success_result: Option<SuccessResult>
Implementations§
Source§impl ClientResponse
impl ClientResponse
Sourcepub fn write_success() -> Self
pub fn write_success() -> Self
Build success response for write operations
§Returns
Response with NoError code and write confirmation
Sourcepub fn is_write_success(&self) -> bool
pub fn is_write_success(&self) -> bool
Check if the write operation was successful
§Returns
true
if the response indicates a successful write operationfalse
if the response indicates a failed write operation or is not a write response
Sourcepub fn read_results(results: Vec<ClientResult>) -> Self
pub fn read_results(results: Vec<ClientResult>) -> Self
Sourcepub fn client_error(error_code: ErrorCode) -> Self
pub fn client_error(error_code: ErrorCode) -> Self
Build generic error response for any operation type
§Parameters
error_code
: Predefined client request error code
Sourcepub fn into_write_result(&self) -> Result<bool, ClientApiError>
pub fn into_write_result(&self) -> Result<bool, ClientApiError>
Convert response to boolean write result
§Returns
Ok(true)
on successful writeErr
with converted error code on failure
Sourcepub fn into_read_results(
&self,
) -> Result<Vec<Option<ClientResult>>, ClientApiError>
pub fn into_read_results( &self, ) -> Result<Vec<Option<ClientResult>>, ClientApiError>
Sourcepub fn is_term_outdated(&self) -> bool
pub fn is_term_outdated(&self) -> bool
Check if this response indicates the leader’s term is outdated
Sourcepub fn is_quorum_timeout_or_failure(&self) -> bool
pub fn is_quorum_timeout_or_failure(&self) -> bool
Check if this response indicates a quorum timeout or failure to receive majority responses
Sourcepub fn is_propose_failure(&self) -> bool
pub fn is_propose_failure(&self) -> bool
Check if this response indicates a failure to receive majority responses
Sourcepub fn is_retry_required(&self) -> bool
pub fn is_retry_required(&self) -> bool
Check if this response indicates a a retry required
Trait Implementations§
Source§impl Clone for ClientResponse
impl Clone for ClientResponse
Source§fn clone(&self) -> ClientResponse
fn clone(&self) -> ClientResponse
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 ClientResponse
impl Debug for ClientResponse
Source§impl Default for ClientResponse
impl Default for ClientResponse
Source§impl<'de> Deserialize<'de> for ClientResponse
impl<'de> Deserialize<'de> for ClientResponse
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
Source§impl Message for ClientResponse
impl Message for ClientResponse
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 ClientResponse
impl PartialEq for ClientResponse
Source§impl Serialize for ClientResponse
impl Serialize for ClientResponse
impl StructuralPartialEq for ClientResponse
Auto Trait Implementations§
impl Freeze for ClientResponse
impl RefUnwindSafe for ClientResponse
impl Send for ClientResponse
impl Sync for ClientResponse
impl Unpin for ClientResponse
impl UnwindSafe for ClientResponse
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Wrap the input message
T
in a tonic::Request