#[non_exhaustive]pub enum ValueWireDecodeError {
Read {
kind: ErrorKind,
source: Option<Arc<Error>>,
},
Budget(BudgetError<JsonResource, usize>),
Quantity {
resource: JsonResource,
source: QuantityConversionError,
},
Syntax(JsonSyntaxError),
UnsupportedVersion {
expected: u8,
actual: u8,
},
InvalidJson(ValueWireJsonError),
}json only.Expand description
Error produced by a bounded crate::ValueWireV1 JSON decoder.
§Examples
use qubit_value::{ValueWireDecodeError, ValueWireV1};
let error = ValueWireV1::decode_json_slice(b"{").unwrap_err();
assert!(matches!(
error,
ValueWireDecodeError::Syntax(_) | ValueWireDecodeError::InvalidJson(_)
));Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Read
Reading the JSON wire input failed.
Fields
Budget(BudgetError<JsonResource, usize>)
The JSON document exceeded one configured resource budget.
Tuple Fields
0: BudgetError<JsonResource, usize>Budget violation reported by the bounded JSON decoder.
Quantity
A native JSON measurement could not be represented by the budget quantity type.
Fields
resource: JsonResourceResource whose measurement failed.
source: QuantityConversionErrorNative measurement conversion failure.
Syntax(JsonSyntaxError)
The bounded input contains JSON syntax errors with source location.
Tuple Fields
0: JsonSyntaxErrorSyntax error with its source location preserved.
UnsupportedVersion
The envelope declares a wire version that this decoder does not support.
Fields
InvalidJson(ValueWireJsonError)
The bounded input is not a valid V1 JSON wire value.
Tuple Fields
0: ValueWireJsonErrorSafe Serde JSON metadata without the original detailed error.
Trait Implementations§
Source§impl Debug for ValueWireDecodeError
impl Debug for ValueWireDecodeError
Source§impl Display for ValueWireDecodeError
impl Display for ValueWireDecodeError
Source§impl Error for ValueWireDecodeError
impl Error for ValueWireDecodeError
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
use the Display impl or to_string()
Source§impl From<Error> for ValueWireDecodeError
impl From<Error> for ValueWireDecodeError
Source§impl From<JsonDecodeError> for ValueWireDecodeError
impl From<JsonDecodeError> for ValueWireDecodeError
Source§fn from(error: JsonDecodeError<JsonResource>) -> Self
fn from(error: JsonDecodeError<JsonResource>) -> Self
Converts bounded decoder failures into the corresponding wire error.
Decoder resource violations retain their structured details, syntax failures retain their source location, and other malformed inputs are represented by a privacy-safe deserialization error.
§Parameters
error- Failure returned by the bounded JSON decoder.
§Returns
The corresponding value-wire decoding error.