pub unsafe trait ReadBuffer {
    type Word;
    unsafe fn read_buffer(&self) -> (*const Self::Word, usize);
}
Expand description

Trait for buffers that can be given to DMA for reading.

Safety

The implementing type must be safe to use for DMA reads. This means:

  • It must be a pointer that references the actual buffer.
  • As long as no &mut self method is called on the implementing object:
    • read_buffer must always return the same value, if called multiple times.
    • The memory specified by the pointer and size returned by read_buffer must not be freed during the transfer it is used in as long as self is not dropped.

Associated Types

Required methods

Provide a buffer usable for DMA reads.

The return value is:

  • pointer to the start of the buffer
  • buffer size in words
Safety

Once this method has been called, it is unsafe to call any &mut self methods on this object as long as the returned value is in use (by DMA).

Implementors