-
Notifications
You must be signed in to change notification settings - Fork 464
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Configure maxDataLength for it-length-prefixed in PeerStreams #2954
base: main
Are you sure you want to change the base?
Conversation
…eerStreams Options
answer: modify it everywhere |
@achingbrain @SgtPooki let me know |
Is the interop CI failure due to these changes or do we have a flaky test? |
Co-authored-by: Russell Dempsey <[email protected]>
Co-authored-by: Russell Dempsey <[email protected]>
Co-authored-by: Russell Dempsey <[email protected]>
Co-authored-by: Russell Dempsey <[email protected]>
@SgtPooki @achingbrain @dhuseby Update |
import { pipe } from 'it-pipe' | ||
import { pushable } from 'it-pushable' | ||
import { Uint8ArrayList } from 'uint8arraylist' | ||
import type { ComponentLogger, Logger, Stream, PeerId, PeerStreamEvents } from '@libp2p/interface' | ||
import type { Pushable } from 'it-pushable' | ||
// import { type DecoderOptions as LpDecoderOptions } from 'it-length-prefixed' // Enable this when DecoderOptions will be exported from it-length-prefixed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These types are exported as of [email protected]
feat: Allow configuration of it-length-prefixed maxDataLength via PeerStreams Options
Description
This PR introduces a new feature that allows users to configure the
maxDataLength
option used byit-length-prefixed
through thePeerStreams
options. Previously, the library defaulted to a maximum data length of 4MB, which could lead to issues when processing larger messages. With this change, both the encoder and decoder init-length-prefixed
can be configured to use a custommaxDataLength
(e.g., 8MB), thus accommodating larger messages.In addition, I have upgraded
it-length-prefixed
to version10.0.0
inpackages/pubsub/package.json
. However, I'm not sure if this is the only place where the upgrade is required. A review of other packages that depend onit-length-prefixed
might be necessary.A new test has been added to validate the behavior, ensuring that a 6MB message is correctly transmitted and received without triggering an error, and that the content of the sent and received messages are identical.
Notes & open questions
[email protected]
inpackages/pubsub/package.json
has been performed, but please verify if additional changes are needed in other parts of the repository.Change checklist