pub trait MemoryDescription:
Send
+ Sync
+ Debug {
// Required methods
fn addr(&self) -> usize;
fn size(&self) -> usize;
fn storage_kind(&self) -> StorageKind;
fn as_any(&self) -> &dyn Any;
fn nixl_descriptor(&self) -> Option<NixlDescriptor>;
}Expand description
Core trait for memory regions that can be type-erased.
This is the only trait in the storage API. Concrete storage types
implement this trait to enable type erasure via Arc<dyn MemoryDescription>.
Required Methods§
Sourcefn storage_kind(&self) -> StorageKind
fn storage_kind(&self) -> StorageKind
Type of storage backing this region.
Sourcefn nixl_descriptor(&self) -> Option<NixlDescriptor>
fn nixl_descriptor(&self) -> Option<NixlDescriptor>
Get the NIXL descriptor for this memory region.