Class CancellableDigestOutputStream
java.lang.Object
java.io.OutputStream
org.eclipse.jgit.internal.storage.io.CancellableDigestOutputStream
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
- Direct Known Subclasses:
PackOutputStream
An OutputStream that keeps a digest and checks every N bytes for
cancellation.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
The OutputStream checks every this value for cancellationprivate long
private long
private final MessageDigest
private final OutputStream
private final ProgressMonitor
-
Constructor Summary
ConstructorsConstructorDescriptionCancellableDigestOutputStream
(ProgressMonitor writeMonitor, OutputStream out) Initialize a CancellableDigestOutputStream. -
Method Summary
Modifier and TypeMethodDescriptionvoid
flush()
final byte[]
Obtain the current SHA-1 digest.final ProgressMonitor
Get the monitor which is used to update on output progress and check cancel.final long
length()
Get total number of bytes written since stream start.final void
write
(byte[] b, int off, int len) final void
write
(int b) Methods inherited from class java.io.OutputStream
close, nullOutputStream, write
-
Field Details
-
BYTES_TO_WRITE_BEFORE_CANCEL_CHECK
public static final int BYTES_TO_WRITE_BEFORE_CANCEL_CHECKThe OutputStream checks every this value for cancellation- See Also:
-
writeMonitor
-
out
-
md
-
count
private long count -
checkCancelAt
private long checkCancelAt
-
-
Constructor Details
-
CancellableDigestOutputStream
Initialize a CancellableDigestOutputStream.- Parameters:
writeMonitor
- monitor to update on output progress and check cancel.out
- target stream to receive all contents.
-
-
Method Details
-
getWriteMonitor
Get the monitor which is used to update on output progress and check cancel.- Returns:
- the monitor
-
getDigest
public final byte[] getDigest()Obtain the current SHA-1 digest.- Returns:
- SHA-1 digest
-
length
public final long length()Get total number of bytes written since stream start.- Returns:
- total number of bytes written since stream start.
-
write
- Specified by:
write
in classOutputStream
- Throws:
IOException
-
write
- Overrides:
write
in classOutputStream
- Throws:
IOException
-
flush
- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classOutputStream
- Throws:
IOException
-