pub trait CompressionInfoField {
const COMPRESSION_INFO_FIRST: bool;
// Required methods
fn compression_info_field(&self) -> &Option<CompressionInfo>;
fn compression_info_field_mut(&mut self) -> &mut Option<CompressionInfo>;
// Provided method
fn write_decompressed_info_to_slice(
data: &mut [u8],
current_slot: u64,
) -> Result<(), LightSdkTypesError> { ... }
}Expand description
Simple field accessor trait for types with a compression_info: Option<CompressionInfo> field.
Implement this trait and get HasCompressionInfo for free via blanket impl.
Required Associated Constants§
Sourceconst COMPRESSION_INFO_FIRST: bool
const COMPRESSION_INFO_FIRST: bool
True if compression_info is the first field, false if last.
This enables efficient serialization by skipping at a known offset.
Required Methods§
fn compression_info_field(&self) -> &Option<CompressionInfo>
fn compression_info_field_mut(&mut self) -> &mut Option<CompressionInfo>
Provided Methods§
Sourcefn write_decompressed_info_to_slice(
data: &mut [u8],
current_slot: u64,
) -> Result<(), LightSdkTypesError>
fn write_decompressed_info_to_slice( data: &mut [u8], current_slot: u64, ) -> Result<(), LightSdkTypesError>
Write Some(CompressionInfo::new_decompressed()) directly into serialized account data.
This avoids re-serializing the entire account by writing only the compression_info bytes at the correct offset (first or last field position).
§Arguments
data- Mutable slice of the serialized account data (WITHOUT discriminator prefix)current_slot- Current slot for initializinglast_claimed_slot
§Returns
Ok(())on successErrif serialization fails or data is too small
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.