Skip to main content

Crate sim_table_core

Crate sim_table_core 

Source
Expand description

Shared table substrate: path validation, path-reference resolution, and the table operation protocol.

Table backends (sim-table-db, sim-table-remote, …) share one path-segment predicate, one absolute/relative reference syntax, and one table/<op> call protocol on the wire. This crate is the home for all three:

It depends only on sim-kernel and sim-value, adding data ergonomics and protocol shape rather than runtime behavior, so it does not touch the kernel boundary.

§Example

use sim_table_core::is_legal_table_segment;

assert!(is_legal_table_segment("nodes"));
assert!(!is_legal_table_segment("")); // empty
assert!(!is_legal_table_segment("..")); // parent escape
assert!(!is_legal_table_segment("a/b")); // path separator

Re-exports§

pub use manifest::backend_manifest;
pub use op::TableOp;
pub use op::TableOpError;
pub use op::decode_table_op;
pub use op::encode_table_op;
pub use path::MAX_TABLE_PATH_SEGMENTS;
pub use path::MAX_TABLE_PATH_TEXT_BYTES;
pub use path::TablePath;
pub use path::TablePathError;
pub use path::TablePathRef;
pub use path::TablePathRefError;
pub use path::TablePathRefPart;

Modules§

capabilities
Canonical host-effect capability names shared by table-like backends.
citizen_fields
Field encoders used by table/list citizen descriptors.
manifest
The narrow backend-manifest constructor shared by host-registered table backends.
op
The table/<op> operation model and its Expr wire encoding.
path
Table path segments, references, and canonical resolution.