public ProtocolHost(String hostName, Class<T> dataClass, SocketAddress localAddress) throws IOException {
// setup network communication
channel = DatagramChannel.open();
channel.configureBlocking(false);
channel.socket().bind(localAddress);
// setup serialization
kryo = new Kryo();
kryo.register(Packet.class); // add argument `new ExternalizableSerializer()` if needed
kryo.register(Metadata.class); // add argument `new ExternalizableSerializer()` if needed
kryo.register(dataClass);
objectInput = new KryoObjectInput(kryo, bufferInput);
objectOutput = new KryoObjectOutput(kryo, bufferOutput);
this.hostName = hostName;
}
java类com.esotericsoftware.kryo.io.KryoObjectInput的实例源码
ProtocolHost.java 文件源码
项目:jnetrobust
阅读 16
收藏 0
点赞 0
评论 0
KryoSerialization.java 文件源码
项目:rpc
阅读 25
收藏 0
点赞 0
评论 0
@Override
public <T> T deserialize(byte[] data, Class<T> clz) throws IOException, ClassNotFoundException {
Kryo kryo = kryoThreadMap.get();
kryo.register(clz);
KryoObjectInput input = new KryoObjectInput(kryo, new FastInput(new ByteArrayInputStream(data)));
return (T) input.readObject();
}