use of rpc.turbo.serialization.kryo.ByteBufOutput in project turbo-rpc by hank-whu.
the class KryoByteBufTest method main.
public static void main(String[] args) {
Kryo kryo = new Kryo();
// kryo.setWarnUnregisteredClasses(true);
// kryo.setReferences(false);
kryo.register(IntObj.class);
kryo.register(StringUTF8Obj.class);
kryo.register(LocalDateTimeObj.class);
kryo.register(ComplexObj.class);
kryo.register(int[].class);
kryo.register(ArrayList.class);
kryo.register(ArrayListObj.class);
ByteBufAllocator allocator = new PooledByteBufAllocator(true);
ByteBuf buffer = allocator.directBuffer(2, 1024 * 1024 * 8);
System.out.println("buffer.nioBufferCount: " + buffer.nioBufferCount());
System.out.println(buffer.nioBuffer(0, buffer.capacity()));
ByteBufOutput output = new ByteBufOutput(buffer);
UserService userService = new UserServiceServerImpl();
User user = userService.getUser(Long.MAX_VALUE).join();
while (true) {
buffer.clear();
output.setBuffer(buffer);
kryo.writeObject(output, user);
ByteBufInput input = new ByteBufInput(buffer);
User u = kryo.readObject(input, User.class);
System.out.println(u);
}
// buffer.clear();
// output.setBuffer(buffer);
// kryo.writeObject(output, user);
// System.out.println("user writeObject: " + output.total());
//
// ByteBufInput input = new ByteBufInput(buffer);
// System.out.println("user readableBytes: " + buffer.readableBytes());
// System.out.println("user readerIndex: " + buffer.readerIndex());
// System.out.println(kryo.readObject(input, User.class));
}
Aggregations