Remove deprecated classes and methods that complicate the move away from `java.nio.ByteBuffer`
- 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
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