Package org.eclipse.jgit.revwalk
Class BlockRevQueue
- java.lang.Object
-
- org.eclipse.jgit.revwalk.Generator
-
- org.eclipse.jgit.revwalk.AbstractRevQueue
-
- org.eclipse.jgit.revwalk.BlockRevQueue
-
- Direct Known Subclasses:
FIFORevQueue,LIFORevQueue
abstract class BlockRevQueue extends AbstractRevQueue
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classBlockRevQueue.Block(package private) static classBlockRevQueue.BlockFreeList
-
Field Summary
Fields Modifier and Type Field Description protected BlockRevQueue.BlockFreeListfree-
Fields inherited from class org.eclipse.jgit.revwalk.AbstractRevQueue
EMPTY_QUEUE, outputType
-
Fields inherited from class org.eclipse.jgit.revwalk.Generator
firstParent, HAS_REWRITE, HAS_UNINTERESTING, NEEDS_REWRITE, SORT_COMMIT_TIME_DESC, SORT_TOPO
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedBlockRevQueue(boolean firstParent)Create an empty revision queue.(package private)BlockRevQueue(Generator s)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidshareFreeList(BlockRevQueue q)Connect the supplied queue to this generator's own free list (if any).-
Methods inherited from class org.eclipse.jgit.revwalk.AbstractRevQueue
add, add, addParents, anybodyHasFlag, clear, describe, everbodyHasFlag, next, outputType
-
-
-
-
Field Detail
-
free
protected BlockRevQueue.BlockFreeList free
-
-
Constructor Detail
-
BlockRevQueue
protected BlockRevQueue(boolean firstParent)
Create an empty revision queue.- Parameters:
firstParent- whether only first-parent links should be followed when walking
-
BlockRevQueue
BlockRevQueue(Generator s) throws MissingObjectException, IncorrectObjectTypeException, java.io.IOException
- Throws:
MissingObjectExceptionIncorrectObjectTypeExceptionjava.io.IOException
-
-
Method Detail
-
shareFreeList
public void shareFreeList(BlockRevQueue q)
Connect the supplied queue to this generator's own free list (if any).Reconfigure this queue to share the same free list as another.
Multiple revision queues can be connected to the same free list, making it less expensive for applications to shuttle commits between them. This method arranges for the receiver to take from / return to the same free list as the supplied queue.
Free lists are not thread-safe. Applications must ensure that all queues sharing the same free list are doing so from only a single thread.
- Overrides:
shareFreeListin classGenerator- Parameters:
q- another FIFO queue that wants to share our queue's free list.
-
-