pub enum SerializableVMValue {
Show 40 variants
Int(i64),
Number(f64),
Decimal(Decimal),
String(String),
Bool(bool),
None,
Some(Box<SerializableVMValue>),
Unit,
Timeframe(Timeframe),
Duration(Duration),
Time(DateTime<FixedOffset>),
TimeSpan(i64),
TimeReference(TimeReference),
DateTimeExpr(DateTimeExpr),
DataDateTimeRef(DataDateTimeRef),
Array(Vec<SerializableVMValue>),
Function(u16),
TypeAnnotation(TypeAnnotation),
TypeAnnotatedValue {
type_name: String,
value: Box<SerializableVMValue>,
},
Enum(EnumValueSnapshot),
Closure {
function_id: u16,
upvalues: Vec<SerializableVMValue>,
},
ModuleFunction(String),
TypedObject {
schema_id: u64,
slot_data: Vec<SerializableVMValue>,
heap_mask: u64,
},
Range {
start: Option<Box<SerializableVMValue>>,
end: Option<Box<SerializableVMValue>>,
inclusive: bool,
},
Ok(Box<SerializableVMValue>),
Err(Box<SerializableVMValue>),
PrintResult(PrintableSnapshot),
SimulationCall {
name: String,
params: HashMap<String, SerializableVMValue>,
},
FunctionRef {
name: String,
closure: Option<Box<SerializableVMValue>>,
},
DataReference {
datetime: DateTime<FixedOffset>,
id: String,
timeframe: Timeframe,
},
Future(u64),
DataTable(BlobRef),
TypedTable {
schema_id: u64,
table: BlobRef,
},
RowView {
schema_id: u64,
table: BlobRef,
row_idx: usize,
},
ColumnRef {
schema_id: u64,
table: BlobRef,
col_id: u32,
},
IndexedTable {
schema_id: u64,
table: BlobRef,
index_col: u32,
},
TypedArray {
element_kind: TypedArrayElementKind,
blob: BlobRef,
len: usize,
},
Matrix {
blob: BlobRef,
rows: u32,
cols: u32,
},
HashMap {
keys: Vec<SerializableVMValue>,
values: Vec<SerializableVMValue>,
},
SidecarRef {
sidecar_id: u32,
blob_kind: BlobKind,
original_hash: HashDigest,
meta_a: u32,
meta_b: u32,
},
}Variants§
Int(i64)
Number(f64)
Decimal(Decimal)
String(String)
Bool(bool)
None
Some(Box<SerializableVMValue>)
Unit
Timeframe(Timeframe)
Duration(Duration)
Time(DateTime<FixedOffset>)
TimeSpan(i64)
TimeReference(TimeReference)
DateTimeExpr(DateTimeExpr)
DataDateTimeRef(DataDateTimeRef)
Array(Vec<SerializableVMValue>)
Function(u16)
TypeAnnotation(TypeAnnotation)
TypeAnnotatedValue
Enum(EnumValueSnapshot)
Closure
ModuleFunction(String)
TypedObject
Fields
§
slot_data: Vec<SerializableVMValue>Serialized slots: each slot is 8 bytes (raw bits for simple, serialized heap values for heap slots)
Range
Ok(Box<SerializableVMValue>)
Err(Box<SerializableVMValue>)
PrintResult(PrintableSnapshot)
SimulationCall
FunctionRef
DataReference
Future(u64)
DataTable(BlobRef)
TypedTable
RowView
ColumnRef
IndexedTable
TypedArray
Binary-serialized typed array (raw bytes via BlobRef).
Matrix
Binary-serialized matrix (raw f64 bytes, row-major).
HashMap
Dedicated HashMap variant preserving type identity.
SidecarRef
Placeholder for sidecar-split large blobs (Phase 3B). Metadata fields preserve TypedArray len and Matrix rows/cols so reassembly can reconstruct the exact original variant.
Trait Implementations§
Source§impl Clone for SerializableVMValue
impl Clone for SerializableVMValue
Source§fn clone(&self) -> SerializableVMValue
fn clone(&self) -> SerializableVMValue
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 SerializableVMValue
impl Debug for SerializableVMValue
Source§impl<'de> Deserialize<'de> for SerializableVMValue
impl<'de> Deserialize<'de> for SerializableVMValue
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SerializableVMValue
impl RefUnwindSafe for SerializableVMValue
impl Send for SerializableVMValue
impl Sync for SerializableVMValue
impl Unpin for SerializableVMValue
impl UnsafeUnpin for SerializableVMValue
impl UnwindSafe for SerializableVMValue
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more