Class ReftableOutputStream
java.lang.Object
java.io.OutputStream
org.eclipse.jgit.internal.storage.reftable.ReftableOutputStream
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
Wrapper to assist formatting a reftable to an
OutputStream.
Internally buffers at block size boundaries, flushing only complete blocks to
the OutputStream.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate byte[]private intprivate intprivate intprivate DeflaterOutputStreamprivate intprivate Deflaterprivate final CountingOutputStreamprivate longprivate final byte[] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidbeginBlock(byte type) (package private) int(package private) int(package private) static intcomputeVarintSize(long val) private voidensureBytesAvailableInBlockBuf(int cnt) (package private) intestimatePadBetweenBlocks(int currentBlockSize) (package private) void(package private) void(package private) void(package private) void(package private) long(package private) voidsetBlockSize(int bs) (package private) longsize()voidwrite(byte[] b, int off, int cnt) voidwrite(int b) (package private) void(package private) voidwriteInt16(int val) (package private) voidwriteInt24(int val) (package private) voidwriteVarint(long val) (package private) voidwriteVarintString(byte[] msg) (package private) voidMethods inherited from class java.io.OutputStream
close, flush, nullOutputStream, write
-
Field Details
-
tmp
private final byte[] tmp -
out
-
alignBlocks
private final boolean alignBlocks -
deflater
-
compressor
-
blockType
private int blockType -
blockSize
private int blockSize -
blockStart
private int blockStart -
blockBuf
private byte[] blockBuf -
cur
private int cur -
paddingUsed
private long paddingUsed
-
-
Constructor Details
-
ReftableOutputStream
ReftableOutputStream(OutputStream os, int bs, boolean align)
-
-
Method Details
-
setBlockSize
void setBlockSize(int bs) -
write
public void write(int b) - Specified by:
writein classOutputStream
-
write
public void write(byte[] b, int off, int cnt) - Overrides:
writein classOutputStream
-
bytesWrittenInBlock
int bytesWrittenInBlock() -
bytesAvailableInBlock
int bytesAvailableInBlock() -
paddingUsed
long paddingUsed() -
size
long size()- Returns:
- bytes flushed; excludes
bytesWrittenInBlock().
-
computeVarintSize
static int computeVarintSize(long val) -
writeVarint
void writeVarint(long val) -
writeInt16
void writeInt16(int val) -
writeInt24
void writeInt24(int val) -
writeId
-
writeVarintString
-
writeVarintString
void writeVarintString(byte[] msg) -
ensureBytesAvailableInBlockBuf
private void ensureBytesAvailableInBlockBuf(int cnt) -
flushFileHeader
- Throws:
IOException
-
beginBlock
void beginBlock(byte type) -
flushBlock
- Throws:
IOException
-
padBetweenBlocksToNextBlock
- Throws:
IOException
-
estimatePadBetweenBlocks
int estimatePadBetweenBlocks(int currentBlockSize) -
finishFile
- Throws:
IOException
-