Class SliceBlocksWriteStreams
java.lang.Object
htsjdk.samtools.cram.structure.SliceBlocksWriteStreams
Provides a layer over a
SliceBlocks object and acts as a bridge between the DataSeries codecs
and their underlying blocks when writing a CRAM stream by presenting a bit (core) or byte (external) stream
for each block.
External block streams use unsynchronized CRAMByteWriter instead of
ByteArrayOutputStream to eliminate synchronized method call overhead in the hot encode path.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionflushStreamsToBlocks(CRAMCodecModelContext contextModel) Compress and write each stream to a corresponding Block.getExternalWriter(Integer contentID) Get theCRAMByteWritercorresponding to the requested content ID.
-
Constructor Details
-
SliceBlocksWriteStreams
- Parameters:
compressionHeader-CompressionHeaderfor the container containing the slice
-
-
Method Details
-
getCoreOutputStream
- Returns:
- the
BitOutputStreamfor the core block
-
getExternalWriter
Get theCRAMByteWritercorresponding to the requested content ID.- Parameters:
contentID- ID of content being requested- Returns:
- CRAMByteWriter for the content ID
-
flushStreamsToBlocks
Compress and write each stream to a corresponding Block.
-