pub trait HlCommsInterface: HlComms {
// Provided methods
fn axi_translate(&self, addr: impl AsRef<str>) -> Result<AxiData, AxiError> { ... }
fn axi_sread<'a>(
&self,
addr: impl AsRef<str>,
value: &'a mut [u8],
) -> Result<&'a [u8], PlatformError> { ... }
fn axi_sread_to_vec(
&self,
addr: impl AsRef<str>,
) -> Result<Vec<u8>, PlatformError> { ... }
fn axi_sread32(&self, addr: impl AsRef<str>) -> Result<u32, PlatformError> { ... }
fn axi_swrite(
&self,
addr: impl AsRef<str>,
value: &[u8],
) -> Result<(), PlatformError> { ... }
fn axi_swrite32(
&self,
addr: impl AsRef<str>,
value: u32,
) -> Result<(), PlatformError> { ... }
}
Expand description
These functions can’ be stored as a fat pointer so they are split out here. There is a blanket implementation for all types that implement HlComms.
Provided Methods§
fn axi_translate(&self, addr: impl AsRef<str>) -> Result<AxiData, AxiError>
fn axi_sread<'a>( &self, addr: impl AsRef<str>, value: &'a mut [u8], ) -> Result<&'a [u8], PlatformError>
fn axi_sread_to_vec( &self, addr: impl AsRef<str>, ) -> Result<Vec<u8>, PlatformError>
fn axi_sread32(&self, addr: impl AsRef<str>) -> Result<u32, PlatformError>
fn axi_swrite( &self, addr: impl AsRef<str>, value: &[u8], ) -> Result<(), PlatformError>
fn axi_swrite32( &self, addr: impl AsRef<str>, value: u32, ) -> Result<(), PlatformError>
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.