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) void |
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
void addDeletes(DocumentsWriterDeleteQueue deleteQueue) throws java.io.IOException
java.io.IOException
private void incTickets()
private void decTickets()
DocumentsWriterFlushQueue.FlushTicket addFlushTicket(DocumentsWriterPerThread dwpt) throws java.io.IOException
java.io.IOException
void 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.IOException
void forcePurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) throws java.io.IOException
java.io.IOException
void tryPurge(IOUtils.IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) throws java.io.IOException
java.io.IOException
int getTicketCount()