236097e081
Motivation: Composite buffers are uniquely positioned to be able to extend their underlying storage relatively cheaply. This fact is relied upon in a couple of buffer use cases within Netty, that we wish to support. Modification: Add a static `extend` method to Allocator, so that the CompositeBuf class can remain internal. The `extend` method inserts the extension buffer at the end of the composite buffer as if it had been included from the start. This involves checking offsets and byte order invariants. We also require that the composite buffer be in an owned state. Result: It's now possible to extend a composite buffer with a specific buffer, after the composite buffer has been created. |
||
---|---|---|
.github/workflows | ||
src | ||
.dockerignore | ||
.gitignore | ||
Dockerfile | ||
Makefile | ||
pom.xml | ||
README.md |
Netty Incubator Buffer API
This repository is incubating a new buffer API proposed for Netty 5.
Building and Testing
Short version: just run make
.
The project currently relies on snapshot versions of the Panama Foreign fork of OpenJDK.
This allows us to test out the must recent version of the jdk.incubator.foreign
APIs, but also make building and local development more involved.
To simplify things, we have a Docker based build, controlled via a Makefile with the following commands:
image
– build the docker image. This includes building a snapshot of OpenJDK, and download all relevant Maven dependencies.test
– run all tests in a docker container. This impliesimage
. The container is automatically deleted afterwards.dbg
– drop into a shell in the build container, without running the build itself. The debugging container is not deleted afterwards.clean
– remote the debugging container created bydbg
.build
– build binaries and run all tests in a container, and copy thetarget
directory out of the container afterwards. This is the default build target.