- java.lang.Object
-
- org.apache.lucene.index.DocumentsWriterFlushQueue
-
final class DocumentsWriterFlushQueue extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
DocumentsWriterFlushQueue.FlushTicket
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.locks.ReentrantLock
purgeLock
private java.util.Queue<DocumentsWriterFlushQueue.FlushTicket>
queue
private java.util.concurrent.atomic.AtomicInteger
ticketCount
-
Constructor Summary
Constructors Constructor Description DocumentsWriterFlushQueue()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
addSegment(DocumentsWriterFlushQueue.FlushTicket ticket, DocumentsWriterPerThread.FlushedSegment segment)
(package private) DocumentsWriterFlushQueue.FlushTicket
addTicket(java.util.function.Supplier<DocumentsWriterFlushQueue.FlushTicket> ticketSupplier)
private void
decTickets()
(package private) void
forcePurge(IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer)
(package private) int
getTicketCount()
(package private) boolean
hasTickets()
private void
incTickets()
private void
innerPurge(IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer)
(package private) void
markTicketFailed(DocumentsWriterFlushQueue.FlushTicket ticket)
(package private) void
tryPurge(IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer)
-
-
-
Field Detail
-
queue
private final java.util.Queue<DocumentsWriterFlushQueue.FlushTicket> queue
-
ticketCount
private final java.util.concurrent.atomic.AtomicInteger ticketCount
-
purgeLock
private final java.util.concurrent.locks.ReentrantLock purgeLock
-
-
Method Detail
-
addTicket
DocumentsWriterFlushQueue.FlushTicket addTicket(java.util.function.Supplier<DocumentsWriterFlushQueue.FlushTicket> ticketSupplier) throws java.io.IOException
- Throws:
java.io.IOException
-
incTickets
private void incTickets()
-
decTickets
private void decTickets()
-
addSegment
void addSegment(DocumentsWriterFlushQueue.FlushTicket ticket, DocumentsWriterPerThread.FlushedSegment segment)
-
markTicketFailed
void markTicketFailed(DocumentsWriterFlushQueue.FlushTicket ticket)
-
hasTickets
boolean hasTickets()
-
innerPurge
private void innerPurge(IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) throws java.io.IOException
- Throws:
java.io.IOException
-
forcePurge
void forcePurge(IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) throws java.io.IOException
- Throws:
java.io.IOException
-
tryPurge
void tryPurge(IOConsumer<DocumentsWriterFlushQueue.FlushTicket> consumer) throws java.io.IOException
- Throws:
java.io.IOException
-
getTicketCount
int getTicketCount()
-
-