Package org.apache.druid.segment.data
Interface CompressionFactory.LongEncodingWriter
- All Known Implementing Classes:
DeltaLongEncodingWriter,LongsLongEncodingWriter,TableLongEncodingWriter
- Enclosing class:
- CompressionFactory
public static interface CompressionFactory.LongEncodingWriter
This writer output encoded values to the given ByteBuffer or OutputStream.
setBuffer(ByteBuffer) or
setOutputStream(WriteOutBytes) must be called before any value is written, and flush() must
be called before calling setBuffer or setOutputStream again to set another output.-
Method Summary
Modifier and TypeMethodDescriptionvoidflush()Flush the unwritten content to the current output.intgetBlockSize(int bytesPerBlock) Get the number of values that can be encoded into each block for the given block size in bytesintgetNumBytes(int values) Get the number of bytes required to encoding the given number of valuesintmetaSize()voidputMeta(ByteBuffer metaOut, CompressionStrategy strategy) Output the header values of the associating encoding format to the given outputStream.voidsetBuffer(ByteBuffer buffer) Data will be written starting from current position of the buffer, and the position of the buffer will be updated as content is written.voidsetOutputStream(WriteOutBytes output) voidwrite(long value) default voidwrite(long[] values, int offset, int length)
-
Method Details
-
setBuffer
Data will be written starting from current position of the buffer, and the position of the buffer will be updated as content is written. -
setOutputStream
-
write
- Throws:
IOException
-
write
- Throws:
IOException
-
flush
Flush the unwritten content to the current output.- Throws:
IOException
-
putMeta
Output the header values of the associating encoding format to the given outputStream. The header also include bytes for compression strategy and encoding format(optional) as described above in Compression Storage Format. -
metaSize
int metaSize() -
getBlockSize
int getBlockSize(int bytesPerBlock) Get the number of values that can be encoded into each block for the given block size in bytes -
getNumBytes
int getNumBytes(int values) Get the number of bytes required to encoding the given number of values
-