infinispan / infinispan/protostream
Implement packed fields
- Dominant language
- Java
- Stars
- 56
- Forks
- 39
- Avg merge
- 5h 36m
- Merged PRs (30d)
- 5
Description
Quoting the protobuf docs:
repeated fields of a primitive type (any [scalar type](https://protobuf.dev/programming-guides/proto2#scalar) that is not string or bytes) can be declared as “packed”. In proto2 this is done using the field option [packed=true]. In proto3 it is the default.
Instead of being encoded as one record per entry, they are encoded as a single LEN record that contains each element concatenated. To decode, elements are decoded from the LEN record one by one until the payload is exhausted. The start of the next element is determined by the length of the previous, which itself depends on the type of the field.
Contributor guide
Research direction
The issue names no files or tests. Start by locating the repeated primitive field encoding and decoding paths, then compare their behavior with the linked Protocol Buffers packed-field specification. Done means proto2 packed=true fields and proto3 repeated primitive fields use length-delimited packed encoding and decode all elements correctly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100