org.eclipse.jgit.storage.dfs
Class DfsOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by org.eclipse.jgit.storage.dfs.DfsOutputStream
All Implemented Interfaces:
Closeable, Flushable

public abstract class DfsOutputStream
extends OutputStream

Output stream to create a file on the DFS.

See Also:
DfsObjDatabase.writePackFile(DfsPackDescription), DfsObjDatabase.writePackIndex(DfsPackDescription)

Constructor Summary
DfsOutputStream()
           
 
Method Summary
 int blockSize()
          Get the recommended alignment for writing.
abstract  int read(long position, ByteBuffer buf)
          Read back a portion of already written data.
abstract  void write(byte[] buf, int off, int len)
           
 void write(int b)
           
 
Methods inherited from class java.io.OutputStream
close, flush, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DfsOutputStream

public DfsOutputStream()
Method Detail

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.


Copyright © 2012. All Rights Reserved.