pub trait DeliveryQueueProvider:
Send
+ Sync
+ 'static {
// Required method
fn deliver_pages(
&self,
key: u64,
target_offset: u64,
unverified_pages: UnverifiedPages<'_>,
) -> Result<(), Error>;
// Provided methods
fn register_blob(
&self,
key: u64,
leaf_data: PtrByteSlice<'_>,
read_alignment: usize,
) -> Result<(), Error> { ... }
fn deliver_child_pages(&self, _data: ChildData<'_>) -> Result<(), Error> { ... }
fn deliver_child_inline_tail(
&self,
_data: ChildInlineTail,
_receiver: &Receiver<RawDeliveryCommand>,
) -> Result<(), Error> { ... }
}Expand description
Trait providing data delivery and blob metadata registration for incoming delivery commands.
Required Methods§
Sourcefn deliver_pages(
&self,
key: u64,
target_offset: u64,
unverified_pages: UnverifiedPages<'_>,
) -> Result<(), Error>
fn deliver_pages( &self, key: u64, target_offset: u64, unverified_pages: UnverifiedPages<'_>, ) -> Result<(), Error>
Delivers data directly from the delivery VMO into the target blob.
Provided Methods§
Sourcefn register_blob(
&self,
key: u64,
leaf_data: PtrByteSlice<'_>,
read_alignment: usize,
) -> Result<(), Error>
fn register_blob( &self, key: u64, leaf_data: PtrByteSlice<'_>, read_alignment: usize, ) -> Result<(), Error>
Handles a RegisterBlob command using a pointer slice to shared memory.
Sourcefn deliver_child_pages(&self, _data: ChildData<'_>) -> Result<(), Error>
fn deliver_child_pages(&self, _data: ChildData<'_>) -> Result<(), Error>
Verifies a parent blob chunk (when data.length > 0), applies file-tail zeroing in-place
in the delivery queue VMO, and supplies the resulting pages to the child VMO.
Sourcefn deliver_child_inline_tail(
&self,
_data: ChildInlineTail,
_receiver: &Receiver<RawDeliveryCommand>,
) -> Result<(), Error>
fn deliver_child_inline_tail( &self, _data: ChildInlineTail, _receiver: &Receiver<RawDeliveryCommand>, ) -> Result<(), Error>
Supplies an EROFS inline tail page by reading directly from the parent blob’s VMO.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".