pub enum MeasuredBudgetError<R, Q = u64>{
Quantity {
resource: R,
source: QuantityConversionError,
},
Budget(BudgetError<R, Q>),
}Expand description
Error returned when native measurement or budget validation rejects a value.
§Type Parameters
R- Caller-defined resource identity retained by limits and errors.Q- Exact unsigned quantity used for measurements and accounting.
§Examples
use qubit_budget::MeasuredBudgetError;
use qubit_budget::QuantityConversionError;
use qubit_budget::QuantityMeasurement;
let source = QuantityConversionError::new(QuantityMeasurement::Usize(256), "u8");
let error = MeasuredBudgetError::<_, u8>::quantity("bytes", source);
assert!(error.quantity_error().is_some());Variants§
Quantity
A native measurement could not fit the configured quantity type.
Fields
resource: RResource associated with the rejected measurement.
source: QuantityConversionErrorNative quantity conversion failure.
Budget(BudgetError<R, Q>)
A representable measurement exceeded its configured resource budget.
Tuple Fields
0: BudgetError<R, Q>Exact point-limit or cumulative-budget failure.
Implementations§
Source§impl<R, Q> MeasuredBudgetError<R, Q>
impl<R, Q> MeasuredBudgetError<R, Q>
Sourcepub const fn quantity(resource: R, source: QuantityConversionError) -> Self
pub const fn quantity(resource: R, source: QuantityConversionError) -> Self
Sourcepub const fn budget_error(&self) -> Option<&BudgetError<R, Q>>
pub const fn budget_error(&self) -> Option<&BudgetError<R, Q>>
Returns the contained budget failure when the measurement fit Q.
§Returns
Some for Self::Budget, or None for Self::Quantity.
Sourcepub const fn quantity_error(&self) -> Option<&QuantityConversionError>
pub const fn quantity_error(&self) -> Option<&QuantityConversionError>
Returns the native quantity conversion failure, when present.
§Returns
Some for Self::Quantity, or None for Self::Budget.
Sourcepub const fn resource(&self) -> &R
pub const fn resource(&self) -> &R
Returns the resource associated with this failure.
The resource is present for both budget validation and quantity conversion failures, so callers do not need to match the error variant merely to attach resource context.
§Returns
Returns the resource associated with this failure.
Sourcepub fn into_resource(self) -> R
pub fn into_resource(self) -> R
Consumes this failure and returns its associated resource.
§Returns
Consumes this failure and returns its associated resource.
Trait Implementations§
Source§impl<R: Clone, Q> Clone for MeasuredBudgetError<R, Q>
impl<R: Clone, Q> Clone for MeasuredBudgetError<R, Q>
Source§fn clone(&self) -> MeasuredBudgetError<R, Q>
fn clone(&self) -> MeasuredBudgetError<R, Q>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<R: Debug, Q> Debug for MeasuredBudgetError<R, Q>
impl<R: Debug, Q> Debug for MeasuredBudgetError<R, Q>
Source§impl<R, Q> Display for MeasuredBudgetError<R, Q>
impl<R, Q> Display for MeasuredBudgetError<R, Q>
Source§impl<R, Q> Error for MeasuredBudgetError<R, Q>
impl<R, Q> Error for MeasuredBudgetError<R, Q>
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()