public KvpOutput use(Schema<?> schema, boolean clearBuffer) { this.schema = schema; if (clearBuffer) tail = head.clear(); return this; }
/** * The buffer will be cleared (tail will point to the head) and the size will be reset to zero. */ public WriteSession clear() { tail = head.clear(); size = 0; return this; }
public static void resetBuf(LinkedBuffer buf) { buf.clear(); }
public static void resetBuf(LinkedBuffer buf) { buf.clear(); }
@Benchmark public void baseline() { buffer.clear(); }
@SuppressWarnings("unchecked") @Override public void writeObject(Object obj) throws IOException { byte[] bytes; byte[] classNameBytes; try { if (WrapperUtils.needWrapper(obj)) { Schema<Wrapper> schema = RuntimeSchema.getSchema(Wrapper.class); Wrapper wrapper = new Wrapper(obj); bytes = GraphIOUtil.toByteArray(wrapper, schema, buffer); classNameBytes = Wrapper.class.getName().getBytes(); } else { Schema schema = RuntimeSchema.getSchema(obj.getClass()); bytes = GraphIOUtil.toByteArray(obj, schema, buffer); classNameBytes = obj.getClass().getName().getBytes(); } } finally { buffer.clear(); } dos.writeInt(classNameBytes.length); dos.writeInt(bytes.length); dos.write(classNameBytes); dos.write(bytes); }
@SuppressWarnings("unchecked") @Override public void writeObject(Object obj) throws IOException { byte[] bytes; byte[] classNameBytes; try { if (WrapperUtils.needWrapper(obj)) { Schema<Wrapper> schema = RuntimeSchema.getSchema(Wrapper.class); Wrapper wrapper = new Wrapper(obj); bytes = GraphIOUtil.toByteArray(wrapper, schema, buffer); classNameBytes = Wrapper.class.getName().getBytes(); } else { Schema schema = RuntimeSchema.getSchema(obj.getClass()); bytes = GraphIOUtil.toByteArray(obj, schema, buffer); classNameBytes = obj.getClass().getName().getBytes(); } } finally { buffer.clear(); } dos.writeInt(classNameBytes.length); dos.writeInt(bytes.length); dos.write(classNameBytes); dos.write(bytes); }
@Benchmark public void generated_serialize_1_int_field() throws Exception { try { ProtobufIOUtil.writeTo(buffer, generatedInt1, generatedInt1Schema); } finally { buffer.clear(); } }
@Benchmark public void runtime_sparse_serialize_10_int_fields() throws Exception { try { ProtobufIOUtil.writeTo(buffer, sparseInt10, sparseInt10RuntimeSchema); } finally { buffer.clear(); } }
@Benchmark public void generated_serialize_10_int_field() throws Exception { try { ProtobufIOUtil.writeTo(buffer, generatedInt10, generatedInt10Schema); } finally { buffer.clear(); } }
@Benchmark public void runtime_serialize_10_int_fields() throws Exception { try { ProtobufIOUtil.writeTo(buffer, int10, int10RuntimeSchema); } finally { buffer.clear(); } }
@Benchmark public void runtime_sparse_serialize_1_int_field() throws Exception { try { ProtobufIOUtil.writeTo(buffer, sparseInt1, sparseInt1RuntimeSchema); } finally { buffer.clear(); } }
@Benchmark public void runtime_serialize_1_int_field() throws Exception { try { ProtobufIOUtil.writeTo(buffer, int1, int1RuntimeSchema); } finally { buffer.clear(); } }
@Override protected <T> byte[] toByteArray(T message, Schema<T> schema) { final LinkedBuffer buffer = localBuffer.get(); try { return JsonXIOUtil.toByteArray(message, schema, false, buffer); } finally { buffer.clear(); } }
@Override protected <T> byte[] toByteArray(T message, Schema<T> schema) { final LinkedBuffer buffer = localBuffer.get(); try { return ProtostuffIOUtil.toByteArray(message, schema, buffer); } finally { buffer.clear(); } }
@Benchmark public byte[] bufferedSerializer() { try { final WriteSession session = new WriteSession(sharedBuffer); StringSerializer.writeUTF8(s, session, sharedBuffer); return session.toByteArray(); } finally { sharedBuffer.clear(); } }
@Override public <T extends Message<T>> byte[] serialize(T message) { try { return YamlIOUtil.toByteArray(message, message.cachedSchema(), buffer); } finally { buffer.clear(); } }
@Override public <T extends Message<T>> byte[] serialize(T message) { try { return JsonXIOUtil.toByteArray(message, message.cachedSchema(), false, buffer); } finally { buffer.clear(); } }
@Override public <T extends Message<T>> byte[] serialize(T message) { try { return JsonXIOUtil.toByteArray(message, message.cachedSchema(), true, buffer); } finally { buffer.clear(); } }
public void testFooStreamed() throws Exception { ByteArrayOutputStream out = new ByteArrayOutputStream(); LinkedBuffer buffer = buf(); try { MsgpackXIOUtil.writeTo(out, foo, FOO_SCHEMA, true, buffer); } finally { buffer.clear(); } byte[] xdata = out.toByteArray(); byte[] data = MsgpackIOUtil.toByteArray(foo, FOO_SCHEMA, true); Assert.assertTrue(Arrays.equals(data, xdata)); }