java.lang.Object
java.io.OutputStream
org.eclipse.jgit.transport.SideBandOutputStream
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
Multiplexes data and progress messages.
This stream is buffered at packet sizes, so the caller doesn't need to wrap it in yet another buffered stream.
- Since:
- 2.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intChannel used for pack data.static final intChannel used for error messages.static final intChannel used for progress messages.static final intMaximum buffer size for a single packet of sideband data.static final intDefault buffer size for a small amount of data. -
Constructor Summary
ConstructorsConstructorDescriptionSideBandOutputStream(int chan, int sz, OutputStream os) Create a new stream to write side band packets. -
Method Summary
Methods inherited from class java.io.OutputStream
close, nullOutputStream, write
-
Field Details
-
CH_DATA
public static final int CH_DATAChannel used for pack data.- See Also:
-
CH_PROGRESS
public static final int CH_PROGRESSChannel used for progress messages.- See Also:
-
CH_ERROR
public static final int CH_ERRORChannel used for error messages.- See Also:
-
SMALL_BUF
public static final int SMALL_BUFDefault buffer size for a small amount of data.- See Also:
-
MAX_BUF
public static final int MAX_BUFMaximum buffer size for a single packet of sideband data.- See Also:
-
-
Constructor Details
-
SideBandOutputStream
Create a new stream to write side band packets.- Parameters:
chan- channel number to prefix all packets with, so the remote side can demultiplex the stream and get back the original data. Must be in the range [1, 255].sz- maximum size of a data packet within the stream. The remote side needs to agree to the packet size to prevent buffer overflows. Must be in the range [HDR_SIZE + 1, MAX_BUF).os- stream that the packets are written onto. This stream should be attached to a SideBandInputStream on the remote side.
-
-
Method Details
-
flush
- Specified by:
flushin interfaceFlushable- Overrides:
flushin classOutputStream- Throws:
IOException
-
write
- Overrides:
writein classOutputStream- Throws:
IOException
-
write
- Specified by:
writein classOutputStream- Throws:
IOException
-