Expand description
Shared table substrate: path validation and the table operation protocol.
Table backends (sim-table-db, sim-table-remote, …) independently grew
the same path-segment validation predicate and an ad-hoc table/<op> call
protocol on the wire. This crate is the one home for both:
path: the legal-segment predicate (is_legal_table_segment) and a smallTablePathaccumulator that validates as it grows;op: theTableOpmodel plusencode_table_op/decode_table_op, which round-trip through the kernelExprgraph using the exact wire spellings thatsim-table-remotealready speaks.
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 separatorRe-exports§
pub use op::TableOp;pub use op::TableOpError;pub use op::decode_table_op;pub use op::encode_table_op;pub use path::TablePath;pub use path::TablePathError;pub use path::is_legal_table_segment;
Modules§
- citizen_
fields - Field encoders used by table/list citizen descriptors.
- op
- The
table/<op>operation model and itsExprwire encoding. - path
- Table path segments and the shared legal-segment predicate.