ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-topic-streams

Description

Implement the topic-stream proposal referenced in libp2p/specs#729, separating application data by topic and direction while retaining the ordinary GossipSub stream for control messages. Treat this draft proposal as experimental and keep support behind an explicit opt-in or compile flag.

Task List

Negotiation And Stream Lifecycle

  • fully qualified name: ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-topic-streams:stream-lifecycle
  • owner: not assigned yet
  • status: not started
  • start-date: 2026/10/01
  • end-date: 2026/12/31

Description

Implement capability negotiation and fallback for peers without topic-stream support. Create, replace, and clean up streams for each topic and direction, including subscription changes and peer disconnects.

Deliverables

  • Experimental feature gate and legacy-peer fallback
  • Topic stream creation, replacement, and cleanup
  • Tests for mixed-capability peers and lifecycle transitions

Delivery And Resource Budgets

  • fully qualified name: ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-topic-streams:delivery-budgets
  • owner: not assigned yet
  • status: not started
  • start-date: 2026/10/01
  • end-date: 2026/12/31

Description

Implement full-message and partial-message delivery with per-peer stream counts and byte budgets. Verify delivery behavior and bounded resource use while control messages continue to use the ordinary GossipSub stream.

Deliverables

  • Full-message and partial-message delivery
  • Per-peer stream and byte limits
  • Tests for delivery, resource exhaustion, and control-stream behavior
  • Ensure no regressions are introduced in a real life network deployment