abstract class BlockRevQueue extends AbstractRevQueue
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
BlockRevQueue.Block |
(package private) static class |
BlockRevQueue.BlockFreeList |
| Modifier and Type | Field and Description |
|---|---|
protected BlockRevQueue.BlockFreeList |
free |
EMPTY_QUEUE, outputTypeHAS_REWRITE, HAS_UNINTERESTING, NEEDS_REWRITE, SORT_COMMIT_TIME_DESC, SORT_TOPO| Modifier | Constructor and Description |
|---|---|
protected |
BlockRevQueue()
Create an empty revision queue.
|
(package private) |
BlockRevQueue(Generator s) |
| Modifier and Type | Method and Description |
|---|---|
void |
shareFreeList(BlockRevQueue q)
Connect the supplied queue to this generator's own free list (if any).
|
add, add, addParents, anybodyHasFlag, clear, describe, everbodyHasFlag, next, outputTypeprotected BlockRevQueue.BlockFreeList free
protected BlockRevQueue()
BlockRevQueue(Generator s) throws MissingObjectException, IncorrectObjectTypeException, java.io.IOException
MissingObjectExceptionIncorrectObjectTypeExceptionjava.io.IOExceptionpublic void shareFreeList(BlockRevQueue q)
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.
shareFreeList in class Generatorq - another FIFO queue that wants to share our queue's free list.