Motivation: There is no reason for `compose()` to be an instance method on `BufferAllocator` since the allocator implementation should not influence how this method is implemented. Modification: Make `compose()` a static method and move it to the `Buffer` interface. Also move its companion methods `extendComposite()` and `isComposite()` to the `Buffer` interface. Result: The composite buffer methods are now in a more sensible place. Also: decided _against_ making `extendComposite()` and `isComposite()` instance methods, because the subtle behaviours of `extendComposite()` means it would behave quite differently for non-composite buffers. Also: `isComposite()` is not an instance method because it relates to the hard-coded and concrete `CompositeBuffer` implementation.
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 most 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
– remove the leftover containers created bydbg
,test
, andbuild
.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.
Description
Languages
Java
99.6%
Dockerfile
0.2%
Makefile
0.2%