Skip to content

[Network] Add: join/repair Event variants and payload structs #84

Description

@thep2p

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.rsEvent 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)

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions