Expand description
数据包:引用计数共享的不可变 payload + 时间戳。
引擎不解释 payload 内容,只搬引用、只按 type_id 做相等性校验。
三种 payload 形态:
Native—— Rust 侧构造的任意类型(类型擦除)Builtin—— 引擎分配的内建类型,跨语言约定布局(标量/字节/字符串/N 维缓冲)Foreign—— 外部(C/C++)构造:裸指针 +drop_fn
内建 payload 支持写时复制(CoW)。显式 adopt 的外部 BUFFER 也支持:
独占且可写时原地返回,READONLY 或共享时按描述符复制成引擎缓冲。
普通 Foreign 只有 drop_fn、无从复制;Native 是类型擦除的 Box<dyn Any>,同理。
Modules§
Structs§
- Buffer
Data - N 维带步长缓冲。引擎分配的缓冲总是连续、行优先。
- Foreign
- 外部(C/C++)构造的 payload:引擎只持指针,引用归零时回调
drop_fn。 - Packet
- Type
Descriptor - A registered custom type’s cross-language identity and fixed payload layout.
Enums§
Constants§
Traits§
- Interop
Type - A Rust type with an explicitly declared cross-language representation.
Functions§
- dtype_
size - 单个元素的字节数;未知 dtype 返回 0。
- fnv1a_
type_ id - 计算与 C++ 糖层一致的类型标识。
- register_
type_ descriptor - Strictly register a custom type’s stable name and ABI layout.
- type_
descriptor - type_
name - 类型标识的可读名字 —— 让「类型不符」的报错能指出是什么类型,而不是两个数字。