final class DocumentsWriterFlushQueue
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
DocumentsWriterFlushQueue.FlushTicket |
| Modifier and Type | Field and Description |
|---|---|
private java.util.concurrent.locks.ReentrantLock |
purgeLock |
private java.util.Queue<DocumentsWriterFlushQueue.FlushTicket> |
queue |
private java.util.concurrent.atomic.AtomicInteger |
ticketCount |
| Constructor and Description |
|---|
DocumentsWriterFlushQueue() |
| Modifier and Type | Method and Description |
|---|---|
(package private) boolean |
addDeletes(DocumentsWriterDeleteQueue deleteQueue) |
(package private) DocumentsWriterFlushQueue.FlushTicket |
addFlushTicket(DocumentsWriterPerThread dwpt) |
(package private) void |
addSegment(DocumentsWriterFlushQueue.FlushTicket ticket,
DocumentsWriterPerThread.FlushedSegment segment) |
private void |
decTickets() |
(package private) void |
forcePurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) |
(package private) int |
getTicketCount() |
(package private) boolean |
hasTickets() |
private void |
incTickets() |
private void |
innerPurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) |
(package private) void |
markTicketFailed(DocumentsWriterFlushQueue.FlushTicket ticket) |
(package private) void |
tryPurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) |
private final java.util.Queue<DocumentsWriterFlushQueue.FlushTicket> queue
private final java.util.concurrent.atomic.AtomicInteger ticketCount
private final java.util.concurrent.locks.ReentrantLock purgeLock
boolean addDeletes(DocumentsWriterDeleteQueue deleteQueue) throws java.io.IOException
java.io.IOExceptionprivate void incTickets()
private void decTickets()
DocumentsWriterFlushQueue.FlushTicket addFlushTicket(DocumentsWriterPerThread dwpt) throws java.io.IOException
java.io.IOExceptionvoid addSegment(DocumentsWriterFlushQueue.FlushTicket ticket, DocumentsWriterPerThread.FlushedSegment segment)
void markTicketFailed(DocumentsWriterFlushQueue.FlushTicket ticket)
boolean hasTickets()
private void innerPurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) throws java.io.IOException
java.io.IOExceptionvoid forcePurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) throws java.io.IOException
java.io.IOExceptionvoid tryPurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) throws java.io.IOException
java.io.IOExceptionint getTicketCount()