pub trait GlacierResource: Sized {
type Output;
// Required methods
fn process_data<R: AsRef<[u8]>>(
woa_version: WoaVersion,
data: R,
) -> Result<Self::Output, GlacierResourceError>;
fn serialize(
&self,
woa_version: WoaVersion,
) -> Result<Vec<u8>, GlacierResourceError>;
fn resource_type() -> [u8; 4];
fn video_memory_requirement(&self) -> u64;
fn system_memory_requirement(&self) -> u64;
fn should_scramble(&self) -> bool;
fn should_compress(&self) -> bool;
}
Required Associated Types§
Required Methods§
fn process_data<R: AsRef<[u8]>>( woa_version: WoaVersion, data: R, ) -> Result<Self::Output, GlacierResourceError>
fn serialize( &self, woa_version: WoaVersion, ) -> Result<Vec<u8>, GlacierResourceError>
fn resource_type() -> [u8; 4]
fn video_memory_requirement(&self) -> u64
fn system_memory_requirement(&self) -> u64
fn should_scramble(&self) -> bool
fn should_compress(&self) -> bool
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.