Subscribe to partial messages
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 366
- Forks
- 85
- Avg merge
- 2d 39m
- Merged PRs (30d)
- 6
Description
Implements the per-topic partial-capability flag plumbing (Step 1 of #435).
Scope
- Outbound announce: include
SubOpts.requestsPartialandSubOpts.supportsSendingPartialin subscribe announcements for topics where the client has opted in (via subscribe API topic options). - Inbound parse: update a
PartialTopicState: Map<Topic, Map<PeerId, PartialSubFlags>>structure from every inboundSubOptswithsubscribe=true. - Coercion on receive (matches go-libp2p):
supportsSendingPartial := requestsPartial || supportsSendingPartial. - MUST ignore both flags when
subscribe=false(unsubscribe announcement). - Cleanup on peer disconnect and on local unsubscribe.
Reference
Design: docs/partial-messages.md §6.1 (lands with the first PR on #435).
go-libp2p: pubsub.go:1245-1324 (announce), :1419-1423 (parse with coercion).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with docs/partial-messages.md §6.1 and compare the referenced go-libp2p pubsub.go ranges for announcement and parsing behavior. Trace the JVM subscribe announcement and inbound subscription parsing entry points, then verify that opt-in flags are announced, coerced on receipt, ignored for unsubscribe messages, and cleaned up on unsubscribe or peer disconnect.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100