Trait cognitive_qualia::traits::MemoryManagement
[−]
[src]
pub trait MemoryManagement { fn create_memory_pool(&mut self, memory: Memory) -> MemoryPoolId; fn destroy_memory_pool(&mut self, mpid: MemoryPoolId) -> Option<Memory>; fn replace_memory_pool(&mut self, mpid: MemoryPoolId, memory: Memory); fn create_memory_view(
&mut self,
mpid: MemoryPoolId,
format: PixelFormat,
offset: usize,
width: usize,
height: usize,
stride: usize
) -> Option<MemoryViewId>; fn destroy_memory_view(&mut self, mpid: MemoryViewId); }
Managing memory pools and views.
Required Methods
fn create_memory_pool(&mut self, memory: Memory) -> MemoryPoolId
Creates new memory pool from mapped memory. Returns ID of newly created pool.
fn destroy_memory_pool(&mut self, mpid: MemoryPoolId) -> Option<Memory>
Schedules destruction of memory pool identified by given ID. The pool will be destructed when all its views go out of the scope.
If the poll was created from mapped memory, returns this memory.
fn replace_memory_pool(&mut self, mpid: MemoryPoolId, memory: Memory)
Replaces mapped memory with other memory reusing its ID. This method may be used when client requests memory map resize.
fn create_memory_view(
&mut self,
mpid: MemoryPoolId,
format: PixelFormat,
offset: usize,
width: usize,
height: usize,
stride: usize
) -> Option<MemoryViewId>
&mut self,
mpid: MemoryPoolId,
format: PixelFormat,
offset: usize,
width: usize,
height: usize,
stride: usize
) -> Option<MemoryViewId>
Creates new memory view from mapped memory.
fn destroy_memory_view(&mut self, mpid: MemoryViewId)
Destroys memory view.