Skip to main content

DomainCodecLib

Struct DomainCodecLib 

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

A host-registered lib that exports one codec (and optionally the Shapes it uses) built from a decoder and encoder.

Implementations§

Source§

impl DomainCodecLib

Source

pub fn new( symbol: Symbol, codec_id: CodecId, decoder: Arc<dyn Decoder>, encoder: Arc<dyn Encoder>, expr_shape_symbol: Symbol, ) -> Self

Build a domain codec lib. expr_shape_symbol is the codec’s expression shape; it is resolved (at load) from the lib’s own registered shapes, then the registry, then core/Expr, then core/Any, then nil.

Source

pub fn with_shapes(self, shapes: Vec<(Symbol, ShapeRef)>) -> Self

Also register these Shapes when the lib loads (for codecs like codec:scene that own their domain’s node Shapes).

Trait Implementations§

Source§

impl Lib for DomainCodecLib

Source§

fn manifest(&self) -> LibManifest

Returns the library’s manifest.
Source§

fn load(&self, _cx: &mut LoadCx, linker: &mut Linker<'_>) -> Result<()>

Registers the library’s exports against the registry via linker.
Source§

fn unload(&self, _cx: &mut Cx, _linker: &mut Linker<'_>) -> Result<(), Error>

Tears down external resources that cannot be represented in the registry’s recorded load delta. 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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.