#[non_exhaustive]pub enum MetadataWireDecodeError {
Domain(MetadataError),
UnsupportedVersion {
expected: u8,
actual: u8,
},
Budget(BudgetError<JsonResource, usize>),
Quantity {
resource: JsonResource,
source: QuantityConversionError,
},
Syntax(JsonSyntaxError),
InvalidLimits(Error),
Filter(MetadataError),
InvalidJson(Error),
}Expand description
Failure returned by a bounded metadata JSON decoding API.
§Examples
use qubit_metadata::Metadata;
let error = Metadata::decode_json_slice(b"not-json").unwrap_err();
assert!(!error.to_string().is_empty());Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Domain(MetadataError)
A metadata map or schema exceeded a domain limit without exposing values.
UnsupportedVersion
The envelope requests a wire version this decoder does not support.
Budget(BudgetError<JsonResource, usize>)
The JSON document exceeded one shared budget limit.
Quantity
A native JSON measurement could not be represented by the budget quantity.
Fields
resource: JsonResourceResource whose measurement failed to convert.
source: QuantityConversionErrorConversion failure retaining the original measurement and target type.
Syntax(JsonSyntaxError)
The JSON lexical preflight rejected the document with source details.
InvalidLimits(Error)
The caller supplied metadata limits outside the protocol hard caps.
Filter(MetadataError)
A decoded metadata-filter envelope violated its structured contract.
InvalidJson(Error)
JSON syntax or strict wire-envelope decoding failed after the byte limit check.
Trait Implementations§
Source§impl Debug for MetadataWireDecodeError
impl Debug for MetadataWireDecodeError
Source§impl Display for MetadataWireDecodeError
impl Display for MetadataWireDecodeError
Source§impl Error for MetadataWireDecodeError
impl Error for MetadataWireDecodeError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the budget, filter, or Serde source associated with the error.
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<JsonDecodeError> for MetadataWireDecodeError
impl From<JsonDecodeError> for MetadataWireDecodeError
Source§fn from(error: JsonDecodeError<JsonResource>) -> Self
fn from(error: JsonDecodeError<JsonResource>) -> Self
Converts a shared JSON decoding error into a metadata wire error.