Class SideBandOutputStream

java.lang.Object
java.io.OutputStream
org.eclipse.jgit.transport.SideBandOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public class SideBandOutputStream extends OutputStream
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 Details

    • CH_DATA

      public static final int CH_DATA
      Channel used for pack data.
      See Also:
    • CH_PROGRESS

      public static final int CH_PROGRESS
      Channel used for progress messages.
      See Also:
    • CH_ERROR

      public static final int CH_ERROR
      Channel used for error messages.
      See Also:
    • SMALL_BUF

      public static final int SMALL_BUF
      Default buffer size for a small amount of data.
      See Also:
    • MAX_BUF

      public static final int MAX_BUF
      Maximum buffer size for a single packet of sideband data.
      See Also:
  • Constructor Details

    • SideBandOutputStream

      public SideBandOutputStream(int chan, int sz, OutputStream os)
      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