Class DfsOutputStream

java.lang.Object
java.io.OutputStream
org.eclipse.jgit.internal.storage.dfs.DfsOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable
Direct Known Subclasses:
InMemoryRepository.Out

public abstract class DfsOutputStream extends OutputStream
Output stream to create a file on the DFS.
See Also:
  • Constructor Details

    • DfsOutputStream

      public DfsOutputStream()
  • Method Details

    • blockSize

      public int blockSize()
      Get the recommended alignment for writing.

      Starting a write at multiples of the blockSize is more efficient than starting a write at any other position. If 0 or -1 the channel does not have any specific block size recommendation.

      Channels should not recommend large block sizes. Sizes up to 1-4 MiB may be reasonable, but sizes above that may be horribly inefficient.

      Returns:
      recommended alignment size for randomly positioned reads. Does not need to be a power of 2.
    • write

      public void write(int b) throws IOException
      Specified by:
      write in class OutputStream
      Throws:
      IOException
    • write

      public abstract void write(byte[] buf, int off, int len) throws IOException
      Overrides:
      write in class OutputStream
      Throws:
      IOException
    • read

      public abstract int read(long position, ByteBuffer buf) throws IOException
      Read back a portion of already written data.

      The writing position of the output stream is not affected by a read.

      Parameters:
      position - offset to read from.
      buf - buffer to populate. Up to buf.remaining() bytes will be read from position.
      Returns:
      number of bytes actually read.
      Throws:
      IOException - reading is not supported, or the read cannot be performed due to DFS errors.