]> source.dussan.org Git - jgit.git/commit
Support large whole packed objects as streams 34/1034/1
authorShawn O. Pearce <spearce@spearce.org>
Fri, 2 Jul 2010 02:34:21 +0000 (19:34 -0700)
committerShawn O. Pearce <spearce@spearce.org>
Fri, 2 Jul 2010 02:34:21 +0000 (19:34 -0700)
commitded8f6c72150253c86b9586025da3a3997ccad6c
treec29ed65b221d7072669b4cfa64f4a12d7dedad28
parent13e0218a2577debcfe8757e135af1cf900601814
Support large whole packed objects as streams

Similar to the loose object support, whole packed objects can
now be streamed back to the caller.  The streaming is less
efficient as we copy the data from the cached window array
into the InflaterInputStream's internal buffer, then inflate
it there before returning to the application.

Like with unpacked objects, there is plenty of room for some
optimization, especially for the copyTo method, where we don't
necessarily need so much buffering to exist.

Change-Id: Ie23be81289e37e24b91d17b0891e47b9da988008
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/PackFileTest.java [new file with mode: 0644]
org.eclipse.jgit/src/org/eclipse/jgit/storage/file/LargePackedWholeObject.java [new file with mode: 0644]
org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackFile.java
org.eclipse.jgit/src/org/eclipse/jgit/storage/file/PackInputStream.java [new file with mode: 0644]
org.eclipse.jgit/src/org/eclipse/jgit/storage/file/WindowCursor.java