#[non_exhaustive]pub enum WireLiveAdapterErrorCode {
ConnectionFailed,
ConnectionLost,
ConfigRejected {
reason: WireLiveConfigRejectionReason,
},
ProviderError,
AuthenticationFailed,
InternalError,
Other {
raw: String,
},
Unknown {
debug: String,
},
}Expand description
Wire mirror of meerkat_core::live_adapter::LiveAdapterErrorCode.
Internally-tagged on code (snake_case). SDK consumers route on code
to distinguish payload-less variants from typed payload variants
(config_rejected { reason }, other { raw }). FIX-SDK-OBS: makes the
R5-9 CommandRejected observation’s typed code visible at the SDK
boundary instead of a free-form blob.
R5-2 (P2 dogma): config_rejected.reason is now a typed
WireLiveConfigRejectionReason mirror so SDK consumers route on the
variant rather than parsing English from the previous free-form
String.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ConnectionFailed
ConnectionLost
ConfigRejected
Fields
reason: WireLiveConfigRejectionReasonProviderError
AuthenticationFailed
InternalError
Other
Unknown
R5-3 (P3): explicit fail-loud variant for unknown core variants.
The core LiveAdapterErrorCode enum is #[non_exhaustive]. When
a future error code lands without an explicit arm in the wire
From impl, the conversion surfaces as Unknown { debug } rather
than silently coercing to InternalError — a “plausible lie” that
would attribute every future-variant failure to an internal-server
bug and mask real provider/transport classification. SDK consumers
route on the code: "unknown" discriminator and treat it as an
unrecognized error class — never as InternalError.
When a new core variant is added, add an explicit arm in the
forward From impl above this variant — Unknown is the floor,
not the destination.
Trait Implementations§
Source§impl Clone for WireLiveAdapterErrorCode
impl Clone for WireLiveAdapterErrorCode
Source§fn clone(&self) -> WireLiveAdapterErrorCode
fn clone(&self) -> WireLiveAdapterErrorCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WireLiveAdapterErrorCode
impl Debug for WireLiveAdapterErrorCode
Source§impl<'de> Deserialize<'de> for WireLiveAdapterErrorCode
impl<'de> Deserialize<'de> for WireLiveAdapterErrorCode
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>,
impl Eq for WireLiveAdapterErrorCode
Source§impl From<LiveAdapterErrorCode> for WireLiveAdapterErrorCode
impl From<LiveAdapterErrorCode> for WireLiveAdapterErrorCode
Source§fn from(value: LiveAdapterErrorCode) -> Self
fn from(value: LiveAdapterErrorCode) -> Self
Source§impl Hash for WireLiveAdapterErrorCode
impl Hash for WireLiveAdapterErrorCode
Source§impl PartialEq for WireLiveAdapterErrorCode
impl PartialEq for WireLiveAdapterErrorCode
Source§fn eq(&self, other: &WireLiveAdapterErrorCode) -> bool
fn eq(&self, other: &WireLiveAdapterErrorCode) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for WireLiveAdapterErrorCode
impl Serialize for WireLiveAdapterErrorCode
impl StructuralPartialEq for WireLiveAdapterErrorCode
Source§impl TryFrom<WireLiveAdapterErrorCode> for LiveAdapterErrorCode
impl TryFrom<WireLiveAdapterErrorCode> for LiveAdapterErrorCode
Source§type Error = WireConversionError
type Error = WireConversionError
Auto Trait Implementations§
impl Freeze for WireLiveAdapterErrorCode
impl RefUnwindSafe for WireLiveAdapterErrorCode
impl Send for WireLiveAdapterErrorCode
impl Sync for WireLiveAdapterErrorCode
impl Unpin for WireLiveAdapterErrorCode
impl UnsafeUnpin for WireLiveAdapterErrorCode
impl UnwindSafe for WireLiveAdapterErrorCode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.