Define the spawn-time handoff a job process consumes before any application code runs: two inherited descriptors named by SWACTOR_ARENA_FD and SWACTOR_WAKE_FD, and a fixed 48-byte little-endian header at arena offset 0 naming one control-ring region. - Canonical header layout, shared parser, and a host writer that leases the header region and control ring disjointly under the arena's own placement law, zeroes the ring, stamps its generation, and returns the handoff (env map, inheritable arena and wake descriptors, host wake eventfd) only after every write completes. - Python binding gains swactor.run(main): map the arena read-only, take ground truth from fstat, validate through the shared parser, arm FD_CLOEXEC on the wake descriptor, close the arena descriptor after mapping, and drive main on asyncio with Context.data carrying the resolved state. Fail-fast BootstrapError before main on any defect. - Rewrite jobs/tiny_linear_inference.py against the approved path API and record the slice, invariants, and remaining bridge work in the handoff doc. Verified with 12 new data-plane bootstrap guarantee tests (parser defect table, fuzzed pages, writer round-trip), 29 binding tests across in-process and exec boundaries, and full data-plane and iroh-driver suites with no regressions.
15 lines
522 B
Rust
15 lines
522 B
Rust
//! Reusable actor-oriented data-plane contracts for wire edges, local IPC rings,
|
|
//! arena-backed byte movement, and GPU worker object movement.
|
|
//!
|
|
//! Composition lives in [`edge_runtime`]: [`edge_runtime::EdgeRuntime`] drives
|
|
//! the edge lifecycle ([`edge_lifecycle`]) over a byte transport
|
|
//! ([`edge_wire`]), the arena ([`arena`]), and an application worker port.
|
|
|
|
pub mod arena;
|
|
pub mod bootstrap;
|
|
pub mod edge_lifecycle;
|
|
pub mod edge_runtime;
|
|
pub mod edge_wire;
|
|
pub mod ids;
|
|
pub mod object_record;
|
|
pub mod ring;
|