@@ -356,29 +356,39 @@ mergeable.
356356
357357Mirror this checklist in issue #435 .
358358
359- - [ ] ** Step 1** — Per-topic ` SubOpts ` flag plumbing. Outbound: flags added
359+ - [x ] ** Step 1** — Per-topic ` SubOpts ` flag plumbing. Outbound: flags added
360360 to subscribe announce RPCs. Inbound: parse flags into a
361361 ` PartialTopicState ` (` Map<Topic, Map<PeerId, PartialSubFlags>> ` ).
362362 Coercion rule applied on receive. Flags ignored on ` subscribe=false ` .
363- - [ ] ** Step 2** — ` PartialMessagesHandler<PeerState> ` interface,
363+ → [ PR #460 ] ( https://github.com/libp2p/jvm-libp2p/pull/460 )
364+ - [x] ** Step 2** — ` PartialMessagesHandler<PeerState> ` interface,
364365 ` PublishAction<PeerState> ` (with ` nextPeerState ` ),
365366 ` PublishActionsFn<PeerState> ` , ` PartialMessagesPeerFeedback ` , and
366367 ` GroupState ` container with TTL + DoS caps. No routing yet.
368+ → [ PR #461 ] ( https://github.com/libp2p/jvm-libp2p/pull/461 )
367369- [x] ** Step 3** — Inbound ` RPC.partial ` dispatch: replace the stub at
368370 ` GossipRouter.kt:476 ` with the full flow (validate caps, create/update
369371 group state, call ` onIncomingRpc ` ).
372+ → [ PR #463 ] ( https://github.com/libp2p/jvm-libp2p/pull/463 )
370373- [x] ** Step 4** — Outbound ` publishPartial(...) ` on the ` Gossip ` facade;
371374 route through ` GossipRpcPartsQueue ` (do ** not** bypass — PR #433 got
372375 this wrong). Enforce the "omit ` partialMessage ` when peer supports but
373376 didn't request" MUST.
377+ → [ PR #465 ] ( https://github.com/libp2p/jvm-libp2p/pull/465 )
374378- [x] ** Step 5** — End-to-end integration test with a trivial bitmap-based
375379 handler. Exercises Steps 1-4 before any routing changes.
380+ → [ PR #466 ] ( https://github.com/libp2p/jvm-libp2p/pull/466 )
376381- [x] ** Step 6** — Routing: full-message suppression (§5.1).
377- - [ ] ** Step 7** — Routing: IDONTWANT suppression (§5.2).
378- - [ ] ** Step 8** — Heartbeat tick + TTL GC + cleanup hooks (§6.4).
379- - [ ] ** Step 9** — Routing: IHAVE replacement with ` onEmitGossip ` (§5.3).
382+ → [ PR #467 ] ( https://github.com/libp2p/jvm-libp2p/pull/467 )
383+ - [x] ** Step 7** — Routing: IDONTWANT suppression (§5.2).
384+ → [ PR #468 ] ( https://github.com/libp2p/jvm-libp2p/pull/468 )
385+ - [x] ** Step 8** — Heartbeat tick + TTL GC + cleanup hooks (§6.4).
386+ → [ PR #469 ] ( https://github.com/libp2p/jvm-libp2p/pull/469 )
387+ - [x] ** Step 9** — Routing: IHAVE replacement with ` onEmitGossip ` (§5.3).
388+ → [ PR #470 ] ( https://github.com/libp2p/jvm-libp2p/pull/470 )
380389- [x] ** Step 10** — Simulator scenario + mixed-peer interop test (partial +
381390 non-partial nodes on the same topic).
391+ → [ PR #471 ] ( https://github.com/libp2p/jvm-libp2p/pull/471 )
382392
383393---
384394
0 commit comments