Class AsyncIOProcessor<Item>

org.elasticsearch.common.util.concurrent.AsyncIOProcessor<Item>

public abstract class AsyncIOProcessor<Item> extends
This async IO processor allows to batch IO operations and have a single writer processing the write operations. This can be used to ensure that threads can continue with other work while the actual IO operation is still processed by a single worker. A worker in this context can be any caller of the put(Object, Consumer) method since it will hijack a worker if nobody else is currently processing queued items. If the internal queue has reached it's capacity incoming threads might be blocked until other items are processed
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    AsyncIOProcessor​(org.apache.logging.log4j.Logger logger, int queueSize, ThreadContext threadContext)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    put​(Item item, <> listener)
    Adds the given item to the queue.
    protected abstract void
    <org.elasticsearch.core.Tuple<<>>> candidates)
    Writes or processes the items out or to disk.

    Methods inherited from class java.lang.

    , , , , , , , , , ,
  • Constructor Details

    • AsyncIOProcessor

      protected AsyncIOProcessor(org.apache.logging.log4j.Logger logger, int queueSize, ThreadContext threadContext)
  • Method Details

    • put

      public final void put(Item item, <> listener)
      Adds the given item to the queue. The listener is notified once the item is processed
    • write

      protected abstract void write(<org.elasticsearch.core.Tuple<<>>> candidates) throws
      Writes or processes the items out or to disk.
      Throws: