Skip to main content

Rules

Struct Rules 

Source
pub struct Rules {
    pub table: FormatTable,
    pub registry: Registry,
    /* private fields */
}
Expand description

The rules files loaded for one run.

The format table and the converter registry must declare the same version. That shared version is recorded in every record as rules_version.

Fields§

§table: FormatTable

The format table from rules/formats.toml.

§registry: Registry

The converter registry from rules/converters.toml.

Implementations§

Source§

impl Rules

Source

pub fn builtin() -> Result<Self>

The rules compiled into the binary.

Source

pub fn builtin_with_inventory(inventory: &RuntimeInventory) -> Result<Self>

The rules compiled into the binary, with the deployment’s runtime-inventory paths wired into the pinned-engine converters. The expected hashes stay in the rules; the inventory supplies only paths.

Source

pub fn builtin_with_runtime( inventory: &RuntimeInventory, provider: Option<&ProviderConfig>, ) -> Result<Self>

The rules compiled into the binary, with the deployment’s runtime-inventory paths and its external provider configuration wired in.

A configured provider changes the effective rules version, so enabling, disabling, moving to different pinned executables, or changing the adapter re-runs every affected source instead of skipping it as unchanged. A configuration this build cannot run leaves the version alone and marks the run instead.

Source

pub fn from_parts(table: FormatTable, registry: Registry) -> Result<Self>

Rules over an explicit format table and registry, for a caller that compiled its own rules rather than the built-in ones. No provider is wired, so the effective version is the shared numeric version of the two tables.

Source

pub fn from_parts_with_runtime( table: FormatTable, registry: Registry, provider: Option<&ProviderConfig>, ) -> Result<Self>

Rules over an explicit table and registry with the provider configuration the registry was built against, so the effective version carries the provider’s identity exactly as the built-in constructor’s does.

Source

pub fn version(&self) -> &str

The effective rules version, recorded in every record.

Source

pub fn provider_not_built(&self) -> bool

Whether a configured provider could not be built into this binary.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Rules

§

impl !Send for Rules

§

impl !Sync for Rules

§

impl !UnwindSafe for Rules

§

impl Freeze for Rules

§

impl Unpin for Rules

§

impl UnsafeUnpin for Rules

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> 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, 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.