Skip to main content

OwnedBinaryXml

Trait OwnedBinaryXml 

Source
pub trait OwnedBinaryXml: BinaryXml {
    // Required methods
    fn decode_owned<W: Work>(
        &self,
        snapshot: Snapshot<Self::Document, Self::Generation>,
        node: Self::Id,
        execution: &W,
    ) -> Result<OwnedVec<u8>, Self::Error>;
    fn decode_binary_owned(
        &self,
        snapshot: Snapshot<Self::Document, Self::Generation>,
        node: Self::Id,
        operation: &Reader<'_>,
    ) -> Result<OwnedDecoded, Self::Error>;
}
Expand description

Independent decoded ownership for simultaneous certificate/status checking.

The same owner lexical/decode kernel serves scoped and owned entry points. Decode directly into admitted caller storage, then move its ownership; do not decode into an ordinary Vec and copy it a second time. Every allocation, initialization, lexical pass and decode is admitted before execution. A moved existing buffer retains its original storage account; new processing work is charged to the current operation. Returning owned data does not qualify an implementation’s transitive accounting without testing its actual kernel.

Required Methods§

Source

fn decode_owned<W: Work>( &self, snapshot: Snapshot<Self::Document, Self::Generation>, node: Self::Id, execution: &W, ) -> Result<OwnedVec<u8>, Self::Error>

Returns the original decoded octets with independent retained capacity.

Source

fn decode_binary_owned( &self, snapshot: Snapshot<Self::Document, Self::Generation>, node: Self::Id, operation: &Reader<'_>, ) -> Result<OwnedDecoded, Self::Error>

Moves an ASN.1 source together with its producing session. A cached source keeps its existing cumulative ceilings; the adapter must not replace that session merely to start a new query with a clean budget. The current operation funds decoding and subsequent query execution.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§