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 (or return
Errwithtry_get).
Usage
use ;
let data = new;
// Access allowed (Domestic)
assert_eq!;
// Safe access with error handling (v0.5+)
assert!;
// Transition state
data.annex.expect;
// Graceful error handling instead of panic
match data.try_get
Thread Safety
Uses AtomicU8 for state tracking, ensuring Send + Sync compliance where T: Send + Sync.
Praborrow Core (Bahasa Indonesia)
Primitif inti untuk framework sistem terdistribusi PraBorrow. Crate ini menyediakan tipe dasar untuk menegakkan semantik kepemilikan kedaulatan (sovereign ownership) lintas batas jaringan.
Sovereign
Wrapper Sovereign<T> mengimplementasikan state machine yang berbeda untuk kepemilikan data:
- Domestic (Domestik): Data bersifat lokal dan dapat diakses melalui
Deref. - Exiled (Diasingkan): Data telah dipindahkan ke node jarak jauh (remote). Upaya akses akan memicu panic (atau mengembalikan
Errdengantry_get).
Penggunaan (Usage)
use ;
let data = new;
// Akses diizinkan (Domestic)
assert_eq!;
// Akses aman dengan penanganan error (v0.5+)
assert!;
// Transisi status
data.annex.expect;
// Penanganan error yang anggun alih-alih panic
match data.try_get
Keamanan Thread (Thread Safety)
Menggunakan AtomicU8 untuk pelacakan status, memastikan kepatuhan Send + Sync di mana T: Send + Sync.