QPack is a fast and efficient serialization format like MessagePack. One key difference is flexible map and array support which allows to write directly to a qpack buffer without the need to know the size for the map or array beforehand.
You can download the latest version here. But you can also clone this repository and build the project using maven (mvn >= 3.3 and java 8 are recommended):
mvn clean install -Dgpg.skip
After building the project, grab the target/java-qpack-0.0-SNAPSHOT.jar
file and add it to your own project as library.
Create an instance of QPack and use its pack method
qpack.pack(Object data);
When unpack is called with only the first parameter, each String will be returned as bytes.
qpack.unpack(byte[] qp, String decoder);
package qpack-test
import java.util.Arrays;
import transceptor.technology.QPack;
public class QPackTest() {
public static void main() {
QPack qpack = new QPack();
String[] data = new String[]{"test", "qpack", "Java"};
byte[] qp = qpack.pack(data);
Object[] result = (Object[]) qpack.unpack(qp, "utf-8");
System.out.println(Arrays.toString(result));
}
}