#[non_exhaustive]pub enum MetadataWireDecodeError {
Read {
kind: ErrorKind,
source: Option<Arc<Error>>,
},
Domain(MetadataError),
UnsupportedVersion {
expected: u8,
actual: u8,
},
Budget(BudgetError<JsonResource, usize>),
Quantity {
resource: JsonResource,
source: QuantityConversionError,
},
Syntax(JsonSyntaxError),
InvalidLimits(Error),
Filter(MetadataError),
InvalidJson(Error),
Decode(JsonDecodeError<JsonResource>),
}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
Read
Reading the JSON wire input failed.
Fields
Domain(MetadataError)
A metadata map or schema exceeded a domain limit without exposing values.
Tuple Fields
0: MetadataErrorStructured metadata-domain failure.
UnsupportedVersion
The envelope requests a wire version this decoder does not support.
Budget(BudgetError<JsonResource, usize>)
The JSON document exceeded one shared budget limit.
Tuple Fields
0: BudgetError<JsonResource, usize>Shared JSON budget that was exceeded.
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.
Tuple Fields
0: JsonSyntaxErrorLexical JSON syntax failure.
InvalidLimits(Error)
The caller supplied metadata limits outside the protocol hard caps.
Filter(MetadataError)
A decoded metadata-filter envelope violated its structured contract.
Tuple Fields
0: MetadataErrorStructured filter-contract failure.
InvalidJson(Error)
A materialized metadata wire value could not be converted to a scalar metadata value.
Decode(JsonDecodeError<JsonResource>)
A shared decoding failure retaining its structured facts and diagnostic policy.
Tuple Fields
0: JsonDecodeError<JsonResource>Shared JSON decoding failure.
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 retained source error associated with this failure.
§Returns
Returns Some for failures that retain an underlying source, including
detailed read failures, domain, budget, quantity, syntax, Serde, and
optional filter failures. Returns None for unsupported wire versions
and read failures whose diagnostic policy did not retain the original
I/O error.
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()