Praborrow Core
Core primitives for the PraBorrow distributed systems framework. This crate provides the foundational types for enforcing sovereign ownership semantics across network boundaries.
Sovereign
The Sovereign<T> wrapper implements a distinct state machine for data ownership:
- Domestic: Data is local and accessible via
Deref. - Exiled: Data has been moved to a remote node. Access attempts trigger a panic.
Usage
use Sovereign;
let data = new;
// Access allowed (Domestic)
assert_eq!;
// Transition state
data.annex.expect;
// Access denied (Exiled)
// *data // Panics: "SOVEREIGNTY VIOLATION"
Thread Safety
Uses AtomicU8 for state tracking, ensuring Send + Sync compliance where T: Send + Sync.