pub struct AeronCError {
pub code: i32,
/* private fields */
}Expand description
Aeron C API error: code + optional message.
Construction is allocation-free (never reads aeron_errmsg()), so retry loops
that discard the error stay cheap. Attach the message via capture_errmsg()
(at the error site) or with_message(); Display / get_last_err_message()
otherwise read the live aeron_errmsg() buffer.
Fields§
§code: i32Implementations§
Source§impl AeronCError
impl AeronCError
Sourcepub fn from_code(code: i32) -> Self
pub fn from_code(code: i32) -> Self
Construct from an Aeron error code (< 0 is failure).
Allocation-free; does not read aeron_errmsg(). Use capture_errmsg() to
attach the message when the error will be stored or logged later.
Sourcepub fn with_message(code: i32, msg: impl Into<String>) -> Self
pub fn with_message(code: i32, msg: impl Into<String>) -> Self
Self::from_code with an attached message.
Sourcepub fn message(&self) -> Option<&str>
pub fn message(&self) -> Option<&str>
Message attached via capture_errmsg() / with_message(), if any.
pub fn kind(&self) -> AeronErrorType
pub fn is_back_pressured(&self) -> bool
pub fn is_admin_action(&self) -> bool
pub fn is_back_pressured_or_admin_action(&self) -> bool
Source§impl AeronCError
impl AeronCError
pub fn get_last_err_message(&self) -> &str
Sourcepub fn capture_errmsg(self) -> Self
pub fn capture_errmsg(self) -> Self
Attach the current aeron_errmsg() text to this error (one allocation).
Call at the error site when the error will be stored, logged later, or sent
across threads — otherwise Display reads the live buffer, which a later
error can overwrite.
Source§impl AeronCError
impl AeronCError
Sourcepub fn is_retryable(&self) -> bool
pub fn is_retryable(&self) -> bool
Transient failure — retry the operation (back off first). See AeronErrorType::is_retryable.
Sourcepub fn is_unrecoverable(&self) -> bool
pub fn is_unrecoverable(&self) -> bool
Definitively terminal — abort the operation. See AeronErrorType::is_unrecoverable.
Not exhaustive: ambiguous codes are neither retryable nor unrecoverable.
Trait Implementations§
Source§impl Clone for AeronCError
impl Clone for AeronCError
Source§fn clone(&self) -> AeronCError
fn clone(&self) -> AeronCError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AeronCError
impl Debug for AeronCError
Source§impl Display for AeronCError
impl Display for AeronCError
Source§impl Error for AeronCError
impl Error for AeronCError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl From<AeronArchiveError> for AeronCError
Lossy interop: archive control errors flatten into AeronCError so ? works in
mixed client/archive code paths. The original typed code is not preserved (the C
client error domain has no equivalent slot for it); use AeronArchiveError
directly at archive control sites to retain the typed code.
impl From<AeronArchiveError> for AeronCError
Lossy interop: archive control errors flatten into AeronCError so ? works in
mixed client/archive code paths. The original typed code is not preserved (the C
client error domain has no equivalent slot for it); use AeronArchiveError
directly at archive control sites to retain the typed code.
Source§fn from(err: AeronArchiveError) -> Self
fn from(err: AeronArchiveError) -> Self
Source§impl From<AeronErrorType> for AeronCError
impl From<AeronErrorType> for AeronCError
Source§fn from(value: AeronErrorType) -> Self
fn from(value: AeronErrorType) -> Self
Source§impl PartialEq for AeronCError
Equality is on code only — the attached message is advisory.
impl PartialEq for AeronCError
Equality is on code only — the attached message is advisory.