jetty / jetty/jetty.project

Remove deprecated classes and methods that complicate the move away from `java.nio.ByteBuffer`

Open
#14,868 0 comments 0 reactions 0 assignees View on GitHub
Enhancement
Dominant language
Java
Stars
4.1k
Forks
2k
Avg merge
3d 56m
Merged PRs (30d)
48

Description

**Jetty version(s)**
13.0.x
subtask of #14865

**Enhancement Description**
There are quite a few deprecated (or unused) classes and methods that use `java.nio.ByteBuffer` that we can remove before doing the migration to limit the amount of work needed.

`ByteBufferAccumulator`, `ByteBufferAggregator`, `ChunkAccumulator`, `ContentSinkSubscriber`, `ContentSourceByteBuffer` and `IOResources.PathToSinkCopier` are such examples, but more do exist.

Also, `PathContentSource`, `ByteChannelContentSource.PathContentSource` and `MultiPartByteRanges.PathContentSource` should be merged to a single implementation.

Contributor guide

Open the contributing guide

Research direction

Start by locating the listed deprecated or unused classes and methods, including ByteBufferAccumulator, ByteBufferAggregator, ChunkAccumulator, ContentSinkSubscriber, ContentSourceByteBuffer, and IOResources.PathToSinkCopier, then inspect their references. Also compare PathContentSource, ByteChannelContentSource.PathContentSource, and MultiPartByteRanges.PathContentSource. Done means obsolete ByteBuffer-based code is removed and the three PathContentSource implementations are merged without remaining references.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.