Skip to main content

RedactionLimitsBuilder

Struct RedactionLimitsBuilder 

Source
pub struct RedactionLimitsBuilder { /* private fields */ }
Expand description

Mutable construction state for RedactionLimits.

§Examples

use qubit_redact::RedactionLimits;

let mut builder = RedactionLimits::builder();
builder.max_input_bytes(256).max_output_bytes(64);
let limits = builder.build();
assert_eq!(limits.max_input_bytes(), 256);
assert_eq!(limits.max_output_bytes(), 64);

Implementations§

Source§

impl RedactionLimitsBuilder

Source

pub fn max_input_bytes(&mut self, maximum: usize) -> &mut Self

Sets the maximum source bytes one transaction may inspect.

§Parameters
  • maximum: Cumulative source bytes admitted by one transaction. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn max_output_bytes(&mut self, maximum: usize) -> &mut Self

Sets the maximum safe output bytes one transaction may retain.

§Parameters
  • maximum: Maximum final output bytes retained by one transaction. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn max_serde_payload_bytes(&mut self, maximum: usize) -> &mut Self

Sets the logical Serde payload allowance independently of encoded output.

Zero permits empty scalar payloads. Policy construction rejects values above isize::MAX; third-party serializer framing is not charged here.

§Parameters
  • maximum: Logical scalar bytes admitted by one structured Serde scope. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn max_depth(&mut self, maximum: usize) -> &mut Self

Sets the maximum nested domain depth.

§Parameters
  • maximum: Maximum active structural nesting depth. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn max_nodes(&mut self, maximum: usize) -> &mut Self

Sets the maximum admitted domain nodes.

§Parameters
  • maximum: Maximum cumulative structural nodes. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn max_collection_items(&mut self, maximum: usize) -> &mut Self

Sets the cumulative item allowance shared by transaction collections.

§Parameters
  • maximum: Cumulative sequence and map entries across transaction collections. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn max_key_bytes(&mut self, maximum: usize) -> &mut Self

Sets the maximum structural key length.

§Parameters
  • maximum: Maximum raw structural key bytes before classification. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn max_json_depth(&mut self, maximum: usize) -> &mut Self

Sets the maximum JSON nesting depth.

§Parameters
  • maximum: Maximum JSON nesting depth. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn max_json_nodes(&mut self, maximum: usize) -> &mut Self

Sets the maximum number of JSON nodes.

§Parameters
  • maximum: Maximum JSON nodes. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn max_json_collection_items(&mut self, maximum: usize) -> &mut Self

Sets the maximum number of items in one JSON collection.

§Parameters
  • maximum: Maximum entries in each JSON array or object. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn max_json_key_bytes(&mut self, maximum: usize) -> &mut Self

Sets the maximum JSON object-key length.

§Parameters
  • maximum: Maximum raw JSON object-key bytes. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn max_json_string_bytes(&mut self, maximum: usize) -> &mut Self

Sets the maximum JSON string length.

§Parameters
  • maximum: Maximum JSON string bytes. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn max_json_number_bytes(&mut self, maximum: usize) -> &mut Self

Sets the maximum JSON number representation length.

§Parameters
  • maximum: Maximum JSON number representation bytes. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn max_json_payload_bytes(&mut self, maximum: usize) -> &mut Self

Sets the cumulative JSON payload-byte maximum.

§Parameters
  • maximum: Cumulative logical JSON payload bytes. Zero is permitted.
§Returns

This builder after replacing the selected ceiling.

Source

pub fn build(self) -> RedactionLimits

Builds immutable limits.

§Returns

An immutable snapshot of all draft ceilings. Validation of addressable output and Serde payload sizes occurs when building the enclosing policy.

Trait Implementations§

Source§

impl Clone for RedactionLimitsBuilder

Source§

fn clone(&self) -> RedactionLimitsBuilder

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for RedactionLimitsBuilder

Source§

impl Debug for RedactionLimitsBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for RedactionLimitsBuilder

Source§

fn default() -> Self

Returns conservative finite defaults for every mutable limit.

§Returns

A builder with finite standard ceilings: 64 KiB input, 16 KiB output, 16 KiB Serde payload when enabled, and standard structural/JSON limits.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.