lib: add stream_discard function #2329
Open
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.
QUIC requires that stream data is presented to receivers as a contiguous byte
stream. The existing stream_recv() function allows applications to read
contiguous bytes from receive streams, copying data into an application-provided
slice.
Applications may have cases where they want to skip over data in a receive
stream without using it. stream_recv() could be used in these cases, at the cost
of copying.
This change adds a stream_discard function that acts similarly to stream_recv.
Callers indicate a maximum size of bytes to discard, and up to that many will be
discarded without a copy. The return values of this function are identical to
stream_recv, meaning that existing business logic and stream state management
can remain the same. Application can use either function interchangeably,
depending on their needs.