コード例 #1
0
 @Override
 public ByteBuffer write(ByteBuffer buff, Object obj) {
   DataType t = getType(obj);
   if (t != this) {
     return t.write(buff, obj);
   }
   buff.put((byte) TYPE_SERIALIZED_OBJECT);
   byte[] data = serialize(obj);
   DataUtils.writeVarInt(buff, data.length);
   buff = DataUtils.ensureCapacity(buff, data.length);
   buff.put(data);
   return buff;
 }
コード例 #2
0
 @Override
 public void write(WriteBuffer buff, Object obj) {
   DataType t = getType(obj);
   if (t != this) {
     t.write(buff, obj);
     return;
   }
   byte[] data = serialize(obj);
   int size = data.length;
   // adjust the average size
   // using an exponential moving average
   averageSize = (size + 15 * averageSize) / 16;
   buff.put((byte) TYPE_SERIALIZED_OBJECT).putVarInt(data.length).put(data);
 }