pub struct DecodedPropertyLayer {
pub layer_id: u64,
pub name: String,
pub id_family: IdFamily,
pub role: LayerRole,
pub storage: StorageMode,
pub logical_len: usize,
pub data: DecodedPropertyData,
}Expand description
One property layer decoded from snapshot bytes.
Returned by DecodedPropertyLayer::decode_all and
DecodedPropertyLayer::decode_sections.
Field types mirror the descriptor record without exposing the wire word
width, so callers can introspect the layer without referencing
PropertySnapshotMetaWord directly.
§Performance
Cloning is O(name bytes) (the Arrow payload clones in O(1)).
Fields§
§layer_id: u64Stable layer ID as decoded from the descriptor record.
name: StringLayer name decoded from the descriptor string table.
id_family: IdFamilyID family the layer is keyed by.
role: LayerRoleLayer role tag.
storage: StorageModeStorage mode (carrying the sparse missing policy when applicable).
logical_len: usizeLogical layer length declared by the descriptor record.
data: DecodedPropertyDataArrow payload decoded from the layer’s IPC value (and optional default) stream.
Implementations§
Source§impl DecodedPropertyLayer
impl DecodedPropertyLayer
Sourcepub fn decode_all<W>(
snapshot: &Snapshot<'_>,
) -> Result<Vec<Self>, PropertyError>where
W: PropertySnapshotMetaWord,
pub fn decode_all<W>(
snapshot: &Snapshot<'_>,
) -> Result<Vec<Self>, PropertyError>where
W: PropertySnapshotMetaWord,
Decodes every property layer carried by a snapshot.
Mirrors BcsrSnapshotHypergraph::from_snapshot on the topology side:
a single constructor on the decoded type that takes the wire snapshot
and returns the materialized form. Each layer is returned in descriptor
order with its Arrow payload restored via
arrow_ipc::reader::StreamReader.
Calls validate_property_snapshot before decoding so the diagnostics
match the validator exactly.
§Errors
Returns PropertyError if required sections are missing, have an
unsupported version, or contain inconsistent descriptor/data records.
§Performance
O(s + l + total Arrow IPC payload bytes) for snapshot section count
s and property layer count l.
Sourcepub fn decode_sections<W>(
descriptor_bytes: &[u8],
data_bytes: &[u8],
) -> Result<Vec<Self>, PropertyError>where
W: PropertySnapshotMetaWord,
pub fn decode_sections<W>(
descriptor_bytes: &[u8],
data_bytes: &[u8],
) -> Result<Vec<Self>, PropertyError>where
W: PropertySnapshotMetaWord,
Decodes property layers from raw descriptor and data section payloads.
Lower-level entry point for callers that already have the two section
byte slices in hand (e.g. when reassembling property data from a custom
container). Re-runs validate_property_sections so structural errors
surface with identical diagnostics.
§Errors
Returns PropertyError if the encoded payloads are structurally
invalid.
§Performance
O(l + total Arrow IPC payload bytes + total name bytes) for layer
count l.
Trait Implementations§
Source§impl Clone for DecodedPropertyLayer
impl Clone for DecodedPropertyLayer
Source§fn clone(&self) -> DecodedPropertyLayer
fn clone(&self) -> DecodedPropertyLayer
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more