pub struct JsonEncodeLimits<R = JsonResource, Q = usize>where
Q: ResourceQuantity,{ /* private fields */ }json only.Expand description
Optional limits for one JSON encoding session.
§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::json::JsonEncodeLimits;
let limits = JsonEncodeLimits::builder().max_output_bytes(128_usize).max_depth(4_usize).build();
assert_eq!(limits.max_output_bytes(), Some(128));
assert_eq!(limits.value_limits().max_depth(), Some(4));Implementations§
Source§impl<R, Q> JsonEncodeLimits<R, Q>where
Q: ResourceQuantity,
impl<R, Q> JsonEncodeLimits<R, Q>where
Q: ResourceQuantity,
Sourcepub const fn new() -> Self
pub const fn new() -> Self
Creates an empty encoding limit set with no configured resource limits.
§Returns
Creates an empty encoding limit set with no configured resource limits.
Sourcepub const fn builder() -> JsonEncodeLimitsBuilder<R, Q>
pub const fn builder() -> JsonEncodeLimitsBuilder<R, Q>
Sourcepub const fn into_builder(self) -> JsonEncodeLimitsBuilder<R, Q>
pub const fn into_builder(self) -> JsonEncodeLimitsBuilder<R, Q>
Converts these limits into a builder for further configuration.
§Returns
Converts these limits into a builder for further configuration.
Sourcepub const fn has_limits(&self) -> bool
pub const fn has_limits(&self) -> bool
Returns whether any encoding or nested value limit is configured.
§Returns
true when the output limit or at least one nested value limit is
configured; otherwise false.
Sourcepub const fn output_bytes_limit(&self) -> Option<&ResourceLimit<R, Q>>
pub const fn output_bytes_limit(&self) -> Option<&ResourceLimit<R, Q>>
Returns the complete output-byte limit, when configured.
§Returns
Returns the complete output-byte limit, when configured.
None indicates that the corresponding limit or budget dimension is
unconfigured.
Sourcepub const fn value_limits(&self) -> &JsonValueLimits<R, Q>
pub const fn value_limits(&self) -> &JsonValueLimits<R, Q>
Borrows the JSON value limits used for encoding.
§Returns
Borrows the JSON value limits used for encoding.
Sourcepub fn into_value_limits(self) -> JsonValueLimits<R, Q>
pub fn into_value_limits(self) -> JsonValueLimits<R, Q>
Consumes these encoding limits and returns their JSON value limits.
§Returns
Consumes these encoding limits and returns their JSON value limits.
Sourcepub const fn max_output_bytes(&self) -> Option<Q>
pub const fn max_output_bytes(&self) -> Option<Q>
Returns the configured output-byte maximum.
§Returns
Returns the configured output-byte maximum.
None indicates that the corresponding limit or budget dimension is
unconfigured.
Trait Implementations§
Source§impl<R: Clone, Q> Clone for JsonEncodeLimits<R, Q>where
Q: ResourceQuantity + Clone,
impl<R: Clone, Q> Clone for JsonEncodeLimits<R, Q>where
Q: ResourceQuantity + Clone,
Source§fn clone(&self) -> JsonEncodeLimits<R, Q>
fn clone(&self) -> JsonEncodeLimits<R, Q>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more