public class DirectBinaryEncoder extends BinaryEncoder
Encoder
for Avro's binary encoding that does not buffer output.
This encoder does not buffer writes, and as a result is slower than
BufferedBinaryEncoder
. However, it is lighter-weight and useful when
the buffering in BufferedBinaryEncoder is not desired and/or the Encoder is
very short lived.
To construct, use
EncoderFactory.directBinaryEncoder(OutputStream, BinaryEncoder)
DirectBinaryEncoder is not thread-safeBinaryEncoder
,
EncoderFactory
,
Encoder
,
Decoder
Modifier and Type | Method and Description |
---|---|
int |
bytesBuffered()
Returns the number of bytes currently buffered by this encoder.
|
void |
flush() |
void |
writeBoolean(boolean b)
Write a boolean value.
|
void |
writeDouble(double d)
Write a double.
|
void |
writeFixed(byte[] bytes,
int start,
int len)
Writes a fixed size binary object.
|
void |
writeFloat(float f)
Write a float.
|
void |
writeInt(int n)
Writes a 32-bit integer.
|
void |
writeLong(long n)
Write a 64-bit integer.
|
protected void |
writeZero()
Write a zero byte to the underlying output.
|
setItemCount, startItem, writeArrayEnd, writeArrayStart, writeBytes, writeBytes, writeEnum, writeIndex, writeMapEnd, writeMapStart, writeNull, writeString, writeString
writeBytes, writeFixed, writeFixed, writeString
public void flush() throws IOException
IOException
public void writeBoolean(boolean b) throws IOException
Encoder
writeBoolean
in class Encoder
IOException
public void writeInt(int n) throws IOException
Encoder
writeInt
in class Encoder
IOException
public void writeLong(long n) throws IOException
Encoder
writeLong
in class Encoder
IOException
public void writeFloat(float f) throws IOException
Encoder
writeFloat
in class Encoder
IOException
public void writeDouble(double d) throws IOException
Encoder
writeDouble
in class Encoder
IOException
public void writeFixed(byte[] bytes, int start, int len) throws IOException
Encoder
writeFixed
in class Encoder
bytes
- The contents to writestart
- The position within bytes where the contents start.len
- The number of bytes to write.IOException
protected void writeZero() throws IOException
BinaryEncoder
writeZero
in class BinaryEncoder
IOException
public int bytesBuffered()
BinaryEncoder
Flushable.flush()
to empty the buffer to the underlying output.bytesBuffered
in class BinaryEncoder
Copyright © 2009–2020 The Apache Software Foundation. All rights reserved.