Trait Block

Source
pub trait Block<B: Backend> {
    // Required methods
    fn properties(&self) -> Properties;
    fn memory(&self) -> &B::Memory;
    fn segment(&self) -> Segment;
    fn map<'a>(
        &'a mut self,
        device: &B::Device,
        segment: Segment,
    ) -> Result<MappedRange<'a, B>, MapError>;
}
Expand description

Block that owns a Segment of the Memory. Implementor must ensure that there can’t be any other blocks with overlapping range (either through type system or safety notes for unsafe functions). Provides access to safe memory range mapping.

Required Methods§

Source

fn properties(&self) -> Properties

Get memory properties of the block.

Source

fn memory(&self) -> &B::Memory

Get raw memory object.

Source

fn segment(&self) -> Segment

Get memory segment owned by this block.

Source

fn map<'a>( &'a mut self, device: &B::Device, segment: Segment, ) -> Result<MappedRange<'a, B>, MapError>

Get mapping for the block segment. Memory writes to the region performed by device become available for the host.

Implementors§