From d6f755f58afdceaeb66eb9bd915d94ebaa111e81 Mon Sep 17 00:00:00 2001 From: belugabehr <12578579+belugabehr@users.noreply.github.com> Date: Sat, 14 Sep 2024 22:50:51 -0400 Subject: [PATCH] AVRO-4052: Inline BufferedBinaryEncoder writeZero method (#3145) --- .../org/apache/avro/io/BufferedBinaryEncoder.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/lang/java/avro/src/main/java/org/apache/avro/io/BufferedBinaryEncoder.java b/lang/java/avro/src/main/java/org/apache/avro/io/BufferedBinaryEncoder.java index 376289ec882..35b515ad10a 100644 --- a/lang/java/avro/src/main/java/org/apache/avro/io/BufferedBinaryEncoder.java +++ b/lang/java/avro/src/main/java/org/apache/avro/io/BufferedBinaryEncoder.java @@ -41,7 +41,7 @@ *

* To change the buffer size, configure the factory instance used to create * instances with {@link EncoderFactory#configureBufferSize(int)} - * + * * @see Encoder * @see EncoderFactory * @see BlockingBinaryEncoder @@ -105,7 +105,7 @@ private void flushBuffer() throws IOException { * current position and the end. This will not expand the buffer larger than its * current size, for writes larger than or near to the size of the buffer, we * flush the buffer and write directly to the output, bypassing the buffer. - * + * * @param num * @throws IOException */ @@ -175,14 +175,11 @@ public void writeFixed(ByteBuffer bytes) throws IOException { @Override protected void writeZero() throws IOException { - writeByte(0); - } - - private void writeByte(int b) throws IOException { + // inlined, shorter version of writeZero if (pos == buf.length) { flushBuffer(); } - buf[pos++] = (byte) (b & 0xFF); + buf[pos++] = (byte) 0; } @Override