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 class
BlockRevQueue.Block
(package private) static class
BlockRevQueue.BlockFreeList
-
Field Summary
Fields Modifier and Type Field Description protected BlockRevQueue.BlockFreeList
free
-
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 protected
BlockRevQueue(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 void
shareFreeList(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:
MissingObjectException
IncorrectObjectTypeException
java.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:
shareFreeList
in classGenerator
- Parameters:
q
- another FIFO queue that wants to share our queue's free list.
-
-