Conversation
teogeb
suggested changes
Jun 10, 2025
harbu
reviewed
Jun 10, 2025
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR enables PlumTree optimization via the SDK and standardizes related naming and API signatures. Key changes include:
- Renaming parameters from "plumTreeOptimisation" to "plumtreeOptimization" for consistency.
- Updating API signatures and test call sites to support an optional deliveryOptions parameter.
- Modifying exports and client methods in both network and SDK packages to accommodate these changes.
Reviewed Changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| packages/trackerless-network/test/utils/utils.ts | Renamed parameter for consistent naming. |
| packages/trackerless-network/src/exports.ts | Updated exports to include StreamPartDeliveryOptions. |
| packages/trackerless-network/src/content-delivery-layer/createContentDeliveryLayerNode.ts | Renamed parameter and updated PlumTreeManager instantiation. |
| packages/trackerless-network/src/ContentDeliveryManager.ts | Renamed parameter and updated usage in configuration. |
| packages/sdk/test/unit/resendSubscription.test.ts, SubscriptionSession.test.ts | Adjusted Subscription instantiation with updated parameter order. |
| packages/sdk/src/utils/addStreamToStorageNode.ts | Inserted an explicit undefined to maintain parameter consistency. |
| packages/sdk/src/subscribe/SubscriptionSession.ts | Updated the join call to include deliveryOptions from subscriptions. |
| packages/sdk/src/subscribe/Subscription.ts | Introduced a new deliveryOptions property in Subscription. |
| packages/sdk/src/publish/Publisher.ts | Extended publish signature to pass deliveryOptions to broadcast. |
| packages/sdk/src/exports.ts | Exported updated types to support delivery options. |
| packages/sdk/src/StreamrClient.ts | Updated publish and join methods to support the new parameter. |
| packages/sdk/src/NetworkNodeFacade.ts | Modified join and broadcast signatures to include deliveryOptions. |
| CHANGELOG.md | Documented the new support for plumtree optimization. |
Comments suppressed due to low confidence (1)
packages/sdk/src/NetworkNodeFacade.ts:226
- The updated join (and broadcast) method signatures now include an optional deliveryOptions parameter. Please verify that these changes are backward compatible with external consumers relying on the previous API contract.
async join(streamPartId: StreamPartID, neighborRequirement?: { minCount: number, timeout: number }, deliveryOptions?: StreamPartDeliveryOptions): Promise<void> {
harbu
approved these changes
Jun 11, 2025
| - Add new storage node address `STREAMR_STORAGE_NODE_ADDRESS` (https://github.com/streamr-dev/network/pull/3020) | ||
| - Add `peaq` environment (https://github.com/streamr-dev/network/pull/3111) | ||
| - Add `iotex` environment (https://github.com/streamr-dev/network/pull/3142) | ||
| - Add support for using the plumtree optimisation in stream partitions in the SDK (https://github.com/streamr-dev/network/pull/3147) |
Contributor
There was a problem hiding this comment.
Something weird going on here or my github diff view is broken. This should be the only item in "unreleased" as v103 was pushed yesterday. Maybe merge gone wrong?
Contributor
Author
There was a problem hiding this comment.
@teogeb the changes to the changelist are under "unreleased" here
teogeb
suggested changes
Jun 11, 2025
Contributor
teogeb
left a comment
There was a problem hiding this comment.
The changelog item should be under "Unreleased" section, otherwise ok 👍
juslesan
added a commit
that referenced
this pull request
Jun 11, 2025
## Summary Renamed PlumTree to Plumtree to match naming of the configuration in #3147
teogeb
approved these changes
Jun 12, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
It is now possible to enable the PlumTree optimization from the SDK.
Changes
plumTreeOptimisationtoplumtreeOptimizationFuture Improvements
NetworkNode#broadcastshould not automatically join streams. Instead when a message is published From the SDK for the first timejoinStreamPartshould be called separately.trackerless-network/src/content-delivery-layer/plum-treeto be in line with theplumtreeOptimizationnaming convention refactor(network): rename PlumTree to Plumtree #3150