pub trait LinkedListItem:
Copy
+ Default
+ Sized {
type Config: Default + Copy;
const IS_2D: bool;
// Required methods
unsafe fn new_read<MW: Word, PW: Word>(
request: Request,
peri_addr: *mut PW,
buf: &mut [MW],
config: Self::Config,
) -> Self;
unsafe fn new_write<MW: Word, PW: Word>(
request: Request,
buf: &[MW],
peri_addr: *mut PW,
config: Self::Config,
) -> Self;
fn link_to(&mut self, next: u16);
fn unlink(&mut self);
fn transfer_count(&self) -> usize;
}Expand description
Trait for linked-list item types usable in a generic Table.
Required Associated Constants§
Required Associated Types§
Required Methods§
Sourceunsafe fn new_read<MW: Word, PW: Word>(
request: Request,
peri_addr: *mut PW,
buf: &mut [MW],
config: Self::Config,
) -> Self
unsafe fn new_read<MW: Word, PW: Word>( request: Request, peri_addr: *mut PW, buf: &mut [MW], config: Self::Config, ) -> Self
Create a new read DMA transfer item (peripheral to memory).
§Safety
The caller must ensure addresses and buffer remain valid for the transfer duration.
Sourceunsafe fn new_write<MW: Word, PW: Word>(
request: Request,
buf: &[MW],
peri_addr: *mut PW,
config: Self::Config,
) -> Self
unsafe fn new_write<MW: Word, PW: Word>( request: Request, buf: &[MW], peri_addr: *mut PW, config: Self::Config, ) -> Self
Create a new write DMA transfer item (memory to peripheral).
§Safety
The caller must ensure addresses and buffer remain valid for the transfer duration.
Sourcefn transfer_count(&self) -> usize
fn transfer_count(&self) -> usize
The item’s transfer count in number of destination words.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.