Skip to content

core(registry): rebuild from kameo reference — local name to actor lookup #119

Description

@joeldsouzax

Part of the core-rebuild epic — follows the shared rigor contract there.

Component

src/registry.rs (~156 LOC). The local name→ActorRef registration/lookup (the remote/DHT registry is a separate concern, #3).

Learning & discussion

Local-only registry: register a name, look it up, dedup on collision. The interesting part is registration races on the same name and lookup-during-register consistency.

Existing crates

papaya, dashmap, scc (#51) — lock-free / sharded concurrent maps.

Research — best algorithm/approach

Lock-free concurrent map trade-offs (papaya vs dashmap vs scc — read-heavy vs write-heavy, memory reclamation); register-once semantics; dedup on collision.

Testing — hard as fuck

Linearizability (concurrent register/lookup/unregister with snapshot-consistency assertions), defensive boundary (duplicate name, unregister-then-lookup), sequence. DST over concurrent registration races. Mutation: cargo-mutants, zero survivors.

Absorbs

#51 (lock-free local registry — papaya/dashmap).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions