Class DocumentDeleteQueue


  • public class DocumentDeleteQueue
    extends java.lang.Object
    This class describes a document queue, which has a "stuffer" thread and many "reader" threads. The queue manages thread synchronization so that (a) the "stuffer" thread blocks until queue is empty, and (b) the "reader" threads block if queue is empty. The objects being queued are all QueuedDocumentSet objects.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String _rcsid  
      protected java.util.ArrayList queue  
    • Field Detail

      • queue

        protected java.util.ArrayList queue
    • Constructor Detail

      • DocumentDeleteQueue

        public DocumentDeleteQueue()
        Constructor.
    • Method Detail

      • reset

        public void reset()
        Wake up all threads waiting on this queue. This happens at the beginning of a reset.
      • clear

        public void clear()
        Clear. This is only used on reset.
      • checkIfEmpty

        public boolean checkIfEmpty​(int n)
        Check if "empty".
        Parameters:
        n - is the low-water mark; if the number falls below this, then this method will return true.
      • addDocuments

        public void addDocuments​(DocumentDeleteSet dd)
        Add a document set to the queue. This will be a set of n documents (where n is some chunk size set by experiment).
        Parameters:
        dd - is the document set.
      • getDocuments

        public DocumentDeleteSet getDocuments()
                                       throws java.lang.InterruptedException
        Pull a document set off the queue, and wait if there is nothing there.
        Returns:
        the document.
        Throws:
        java.lang.InterruptedException