feagi_data_serialization 0.0.50-beta.45

Adds serialization and deserialization to select Feagi Data Structures.
Documentation

FEAGI Data Serialization

This crate provides traits and utilities for serializing and deserializing various data structures to and from byte vectors in the FEAGI system. It offers a unified serialization framework through the [FeagiSerializable] trait and efficient byte data management via [FeagiByteContainer].

Core Components

  • [FeagiSerializable] - Common trait for structures that can be serialized to/from bytes
  • [FeagiByteContainer] - Container that manages and owns byte data for multiple structures
  • [FeagiByteStructureType] - Enum identifying different serializable structure types

Basic Usage

use feagi_data_serialization::{FeagiByteContainer, FeagiSerializable};

// Create an empty container
let mut container = FeagiByteContainer::new_empty();
assert!(container.is_valid());
assert_eq!(container.try_get_number_contained_structures().unwrap(), 0);

// Get information about the container
let byte_count = container.get_number_of_bytes_used();
let struct_types = container.get_contained_struct_types();

More information about the specification can be found in the documentation.