Expand description
Typed locators and rendezvous/handoff records for fabric resource discovery.
This crate provides two things:
-
Locator types — small, versioned structs that describe where a fabric resource lives (memory region, block region, queue, RPC arena, replica set). All locators are postcard-serializable and carry an explicit
version: u8field for forward compatibility. -
Handoff records — a writer/reader pair backed by block storage that lets a producer publish new locators with monotonically increasing generations, and consumers detect changes by polling.
§Locator types
| Type | Describes |
|---|---|
MemRegionLocator | Byte range within a memory lease |
BlockRegionLocator | LBA range within a block lease |
QueueLocator | Ring buffer in a memory lease |
RpcArenaLocator | Request/response arena pair |
ReplicaSetLocator | Set of memory replicas |
§Handoff pattern
Writer Block Storage Reader
| | |
|-- publish(new_locator) --------->| |
| (bump generation, serialize) | |
| |<-------- poll() -------------|
| | (deserialize, check gen) |
| |--------- Some(state) ------->|§Feature flags
| Feature | Default | Effect |
|---|---|---|
std | Yes | Enables std in grafos-std |
sync-watch | No | Adds grafos-sync watch channel integration |