Summary
Add the 8 new Event variants and their payload structs needed for join and repair messaging, per docs/protocol/concurrent-insert.md, Section 2.
Scope
src/network/mod.rs — Event gains: GetMaxLevelOp, RetMaxLevelOp, GetNeighborOp, RetNeighborOp, GetLinkOp, SetLinkOp, BuddyOp, CheckNeighborOp.
src/core/model/join.rs (new) — the 8 request/response structs, with fields per Section 2's table in docs/protocol/concurrent-insert.md.
src/core/model/mod.rs, src/core/mod.rs — module wiring and re-exports.
Acceptance Criteria
- All 8 variants and their payload structs exist with the exact fields specified in
docs/protocol/concurrent-insert.md, Section 2.
- Direction/side semantics are documented as receiver-owned, not hop-relative (per Section 2).
- Crate builds; existing tests unaffected.
- No new tests required for pure data types — matches this crate's existing convention for
IdSearchReq/IdSearchRes, which also has no test file.
Dependencies
None.
Related
This design line supersedes the lock-based design in #77, including the lock-based concurrent-join follow-up that #66 defers to #77.
Dependency graph (unblocked first):
EPIC #81 -- local search & join protocol
#67 [DONE] search_by_id #71 [OPEN] search_by_mem_vec (independent)
#74 [OPEN] search_by_id timeout fix #76 [OPEN] delete/leave
Concurrent join + repair (Algorithm 2 + Algorithm 8; supersedes closed #66, #77):
L0 (no deps): #84 <-- YOU ARE HERE #85 (pending -- not yet converged) #86 #87
L1: (pending -- not yet converged) #88 #89
L2: #90 #91 (pending -- not yet converged) (pending -- not yet converged)
L3: #92
L4 (acceptance gate): (pending -- not yet converged)
Summary
Add the 8 new
Eventvariants and their payload structs needed for join and repair messaging, perdocs/protocol/concurrent-insert.md, Section 2.Scope
src/network/mod.rs—Eventgains:GetMaxLevelOp,RetMaxLevelOp,GetNeighborOp,RetNeighborOp,GetLinkOp,SetLinkOp,BuddyOp,CheckNeighborOp.src/core/model/join.rs(new) — the 8 request/response structs, with fields per Section 2's table indocs/protocol/concurrent-insert.md.src/core/model/mod.rs,src/core/mod.rs— module wiring and re-exports.Acceptance Criteria
docs/protocol/concurrent-insert.md, Section 2.IdSearchReq/IdSearchRes, which also has no test file.Dependencies
None.
Related
This design line supersedes the lock-based design in #77, including the lock-based concurrent-join follow-up that #66 defers to #77.