Skip to content

layer: RTT-aware RS pollChunks peer order (LatencyTier)#45

Merged
ch4r10t33r merged 1 commit into
mainfrom
feat/layer-rs-tier-rtt
Apr 12, 2026
Merged

layer: RTT-aware RS pollChunks peer order (LatencyTier)#45
ch4r10t33r merged 1 commit into
mainfrom
feat/layer-rs-tier-rtt

Conversation

@ch4r10t33r
Copy link
Copy Markdown
Collaborator

Summary

  • PeerSessionStats.rtt_ms — optional signal for dispatch (default maxInt(u32) = unknown / lowest preference).
  • RsStrategy.pollChunks — collects active peers, sorts by latency_tier (inner → mid → outer) then lower RTT, then runs allocate in that order.
  • layer/latency_tier.zig — single source for rtt_inner_ms / rtt_mid_ms, LatencyTier, and latencyTier(); discovery/peering/score re-exports the same names so callers stay unchanged.
  • pollChunks prefers inner-tier peer by RTT test in rs_strategy.zig; tier boundary tests live in latency_tier.zig (removed duplicate from score.zig).

Closes #39

PeerSessionStats gains rtt_ms (default unknown). RsStrategy.pollChunks
sorts peers by LatencyTier then lower RTT before allocate.

Extract tier thresholds and latencyTier into layer/latency_tier.zig;
discovery/peering/score re-exports for existing API.

Closes #39
@ch4r10t33r ch4r10t33r merged commit 0a27421 into main Apr 12, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

layer: tier-aware RS chunk dispatch using RTT (001 / 002 alignment)

1 participant