Optimize memory allocation logic when constructing packet buffer#78
Merged
ssrlive merged 1 commit intonarrowlink:mainfrom Nov 17, 2025
Merged
Optimize memory allocation logic when constructing packet buffer#78ssrlive merged 1 commit intonarrowlink:mainfrom
ssrlive merged 1 commit intonarrowlink:mainfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR optimizes memory allocation for packet buffer construction in resource-constrained environments (especially microcontrollers running ESP-IDF). The change reduces the buffer size from u16::MAX + offset (≈65KB) to mtu + offset, using the MTU configuration value with a minimum of 1280 bytes.
- Replaces hardcoded
u16::MAXbuffer size with MTU-based allocation - Adds
MIN_IP_PACKET_LENconstant (1280 bytes) per RFC 8200 for IPv6 - Extends target OS support to include ESP-IDF
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
Author
|
The reviewer’s comments have been addressed. The primary update changes the default MTU from u16::MAX to the RFC-defined theoretical minimum to reduce unnecessary memory usage, while still allowing users to specify a larger MTU if required. |
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.
Changed the vector size used to construct the packet buffer from
u16::MAX as usize + offsettomtu + offset, reducing unnecessary memory allocations (especially on memory-constrained microcontroller devices).