Skip to main content

ProviderConfig

Struct ProviderConfig 

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

A validated provider configuration.

svg is Some only when both roles were supplied and every field validated. Every other input is either an empty configuration, which leaves svg on its passthrough-only path, or a run configuration error raised before traversal.

Implementations§

Source§

impl ProviderConfig

Source

pub fn empty() -> ProviderConfig

A configuration with no provider: the shape a run has when no configuration file is supplied.

Source

pub fn svg(&self) -> Option<&SvgProvider>

The svg provider, when the configuration carries a complete one.

Source

pub fn parse(text: &str) -> Result<ProviderConfig>

Parses and validates one configuration text.

Source

pub fn load(path: &Path) -> Result<ProviderConfig>

Loads a configuration from a TOML file.

Source

pub fn digest_material( pins: &BTreeMap<String, ProviderPin>, jail: &ProviderJailIdentity, ) -> Option<String>

The material the effective rules version digests for a configured provider: presence, the generic role labels, the rules-pinned hashes and versions, the adapter version, the geometry and flatten options, and the jail identity, which is the profile template’s BLAKE3 together with the two parameter values the deployment supplied.

Absolute paths are deliberately excluded, so moving an identical pinned provider to another path re-runs nothing. The parameter values enter as digest material only, so they never appear in a record: two runs under different values, or under an edited template, are different effective versions and never checkpoint against each other.

Source

pub fn version_suffix( pins: &BTreeMap<String, ProviderPin>, jail: &ProviderJailIdentity, ) -> Option<String>

The effective-version suffix a configured provider contributes under the given pins and jail identity, or None when the pins are incomplete. The form is svg.<12 hex>, appended to the numeric rules version with a +.

Source

pub fn jail_identity(&self) -> ProviderJailIdentity

The jail identity this configuration runs under: the profile template’s BLAKE3 on this platform and the two parameter values the rasterizer role supplied.

Trait Implementations§

Source§

impl Clone for ProviderConfig

Source§

fn clone(&self) -> Self

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 Debug for ProviderConfig

Source§

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

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

impl Default for ProviderConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.