pub struct AttributeMessage {
pub name: String,
pub datatype: DatatypeMessage,
pub dataspace: DataspaceMessage,
pub data: Vec<u8>,
}Expand description
An HDF5 attribute message.
Fields§
§name: StringAttribute name.
datatype: DatatypeMessageDatatype of the attribute value.
dataspace: DataspaceMessageDataspace (scalar or simple).
data: Vec<u8>Raw attribute value data.
Implementations§
Source§impl AttributeMessage
impl AttributeMessage
Sourcepub fn scalar_string(name: &str, value: &str) -> Self
pub fn scalar_string(name: &str, value: &str) -> Self
Create a scalar string attribute with the given name and value.
Uses a null-terminated UTF-8 fixed-length string datatype with size = value.len() + 1 (for the null terminator), and a scalar dataspace.
Sourcepub fn scalar_numeric(
name: &str,
datatype: DatatypeMessage,
data: Vec<u8>,
) -> Self
pub fn scalar_numeric( name: &str, datatype: DatatypeMessage, data: Vec<u8>, ) -> Self
Create a scalar numeric attribute with raw bytes as value.
Sourcepub fn encode(&self, ctx: &FormatContext) -> Vec<u8> ⓘ
pub fn encode(&self, ctx: &FormatContext) -> Vec<u8> ⓘ
Encode the attribute message into a byte vector.
The result is the raw payload for an object header message of type 0x0C (MSG_ATTRIBUTE). It does NOT include the object header message envelope (type, size, flags bytes); that is handled by the caller.
Sourcepub fn decode(buf: &[u8], ctx: &FormatContext) -> FormatResult<(Self, usize)>
pub fn decode(buf: &[u8], ctx: &FormatContext) -> FormatResult<(Self, usize)>
Decode an attribute message from a byte buffer.
Supports versions 1, 2, and 3:
- v1: 8-byte header, each field padded to 8-byte alignment
- v2: 8-byte header, no alignment padding
- v3: 9-byte header (adds charset byte), no alignment padding
Trait Implementations§
Source§impl Clone for AttributeMessage
impl Clone for AttributeMessage
Source§fn clone(&self) -> AttributeMessage
fn clone(&self) -> AttributeMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AttributeMessage
impl Debug for AttributeMessage
Source§impl PartialEq for AttributeMessage
impl PartialEq for AttributeMessage
impl StructuralPartialEq for AttributeMessage
Auto Trait Implementations§
impl Freeze for AttributeMessage
impl RefUnwindSafe for AttributeMessage
impl Send for AttributeMessage
impl Sync for AttributeMessage
impl Unpin for AttributeMessage
impl UnsafeUnpin for AttributeMessage
impl UnwindSafe for AttributeMessage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more