pub struct RegDescList<'a> { /* private fields */ }Expand description
A safe wrapper around a NIXL registration descriptor list
Implementations§
Source§impl<'a> RegDescList<'a>
impl<'a> RegDescList<'a>
Sourcepub fn new(mem_type: MemType) -> Result<Self, NixlError>
pub fn new(mem_type: MemType) -> Result<Self, NixlError>
Creates a new registration descriptor list for the given memory type
pub fn get_type(&self) -> Result<MemType, NixlError>
Sourcepub fn add_desc_with_meta(
&mut self,
addr: usize,
len: usize,
dev_id: u64,
metadata: &[u8],
)
pub fn add_desc_with_meta( &mut self, addr: usize, len: usize, dev_id: u64, metadata: &[u8], )
Add a descriptor with metadata
Sourcepub fn desc_count(&self) -> Result<usize, NixlError>
pub fn desc_count(&self) -> Result<usize, NixlError>
Returns the number of descriptors in the list
Sourcepub fn rem_desc(&mut self, index: i32) -> Result<(), NixlError>
pub fn rem_desc(&mut self, index: i32) -> Result<(), NixlError>
Removes the descriptor at the given index
Sourcepub fn get(&self, index: usize) -> Result<&RegDescriptor, NixlError>
pub fn get(&self, index: usize) -> Result<&RegDescriptor, NixlError>
Safe immutable access to descriptor by index
Sourcepub fn get_mut(&mut self, index: usize) -> Result<&mut RegDescriptor, NixlError>
pub fn get_mut(&mut self, index: usize) -> Result<&mut RegDescriptor, NixlError>
Safe mutable access to descriptor by index
Sourcepub fn add_storage_desc(
&mut self,
desc: &'a dyn NixlDescriptor,
) -> Result<(), NixlError>
pub fn add_storage_desc( &mut self, desc: &'a dyn NixlDescriptor, ) -> Result<(), NixlError>
Add a descriptor from a type implementing NixlDescriptor
§Safety
The caller must ensure that:
- The descriptor remains valid for the lifetime of the list
- The memory region pointed to by the descriptor remains valid
Sourcepub fn serialize(&self) -> Result<Vec<u8>, NixlError>
pub fn serialize(&self) -> Result<Vec<u8>, NixlError>
Serializes the descriptor list to a byte vector using bincode
Sourcepub fn deserialize(bytes: &[u8]) -> Result<Self, NixlError>
pub fn deserialize(bytes: &[u8]) -> Result<Self, NixlError>
Deserializes a descriptor list from a byte slice using bincode
Trait Implementations§
Source§impl Debug for RegDescList<'_>
impl Debug for RegDescList<'_>
Source§impl Drop for RegDescList<'_>
impl Drop for RegDescList<'_>
Source§impl Index<usize> for RegDescList<'_>
impl Index<usize> for RegDescList<'_>
Source§impl IndexMut<usize> for RegDescList<'_>
impl IndexMut<usize> for RegDescList<'_>
Source§impl PartialEq for RegDescList<'_>
impl PartialEq for RegDescList<'_>
Auto Trait Implementations§
impl<'a> !Freeze for RegDescList<'a>
impl<'a> !RefUnwindSafe for RegDescList<'a>
impl<'a> !Send for RegDescList<'a>
impl<'a> !Sync for RegDescList<'a>
impl<'a> Unpin for RegDescList<'a>
impl<'a> !UnwindSafe for RegDescList<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more