Package org.eclipse.jgit.transport
Class SideBandInputStream
java.lang.Object
java.io.InputStream
org.eclipse.jgit.transport.SideBandInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
Unmultiplexes the data portion of a side-band channel.
Reading from this input stream obtains data from channel 1, which is typically the bulk data stream.
Channel 2 is transparently unpacked and "scraped" to update a progress monitor. The scraping is performed behind the scenes as part of any of the read methods offered by this stream.
Channel 3 results in an exception being thrown, as the remote side has issued an unrecoverable error.
- Since:
- 4.11
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
(package private) static final int
(package private) static final int
(package private) static final int
private int
private String
private boolean
private int
private final Writer
private final ProgressMonitor
private final OutputStream
private static Pattern
private static Pattern
private final PacketLineIn
private String
private final InputStream
-
Constructor Summary
ConstructorsConstructorDescriptionSideBandInputStream
(InputStream in, ProgressMonitor progress, Writer messageStream, OutputStream outputStream) -
Method Summary
Modifier and TypeMethodDescriptionprivate void
beginTask
(int totalWorkUnits) private void
doProgressLine
(String msg) private void
private void
int
read()
int
read
(byte[] b, int off, int len) private String
readString
(int len) private static String
Methods inherited from class java.io.InputStream
available, close, mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
-
Field Details
-
CH_DATA
static final int CH_DATA- See Also:
-
CH_PROGRESS
static final int CH_PROGRESS- See Also:
-
CH_ERROR
static final int CH_ERROR- See Also:
-
P_UNBOUNDED
-
P_BOUNDED
-
rawIn
-
pckIn
-
monitor
-
messages
-
out
-
progressBuffer
-
currentTask
-
lastCnt
private int lastCnt -
eof
private boolean eof -
channel
private int channel -
available
private int available
-
-
Constructor Details
-
SideBandInputStream
SideBandInputStream(InputStream in, ProgressMonitor progress, Writer messageStream, OutputStream outputStream)
-
-
Method Details
-
read
- Specified by:
read
in classInputStream
- Throws:
IOException
-
read
- Overrides:
read
in classInputStream
- Throws:
IOException
-
needDataPacket
- Throws:
IOException
-
progress
- Throws:
IOException
-
doProgressLine
- Throws:
IOException
-
beginTask
private void beginTask(int totalWorkUnits) -
remote
-
readString
- Throws:
IOException
-