org.apache.geode.cache.asyncqueue

## Interface AsyncEventQueue

-     public interface AsyncEventQueue

  Interface of AsyncEventQueue. This represents the channel over which the events are delivered to the `AsyncEventListener`.
  Since:
    GemFire 7.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `AsyncEventListener` | `getAsyncEventListener()` The `AsyncEventListener` that is attached to the queue.
    `int` | `getBatchSize()` Represents the size of a batch that gets delivered over the AsyncEventQueue.
    `int` | `getBatchTimeInterval()` Represents the maximum time interval that can elapse before a batch is sent from `AsyncEventQueue`.
    `java.lang.String` | `getDiskStoreName()` The Disk store that is required for overflow and persistence
    `int` | `getDispatcherThreads()` Returns the number of dispatcher threads working for this `AsyncEventQueue`.
    `java.util.List<GatewayEventFilter>` | `getGatewayEventFilters()` Returns the `GatewayEventFilters` for this `AsyncEventQueue`
    `GatewayEventSubstitutionFilter` | `getGatewayEventSubstitutionFilter()` Returns the `GatewayEventSubstitutionFilter` for this `AsyncEventQueue`
    `java.lang.String` | `getId()`
    `int` | `getMaximumQueueMemory()` The maximum memory after which the data needs to be overflowed to disk.
    `GatewaySender.OrderPolicy` | `getOrderPolicy()` Returns the order policy followed while dispatching the events to AsyncEventListener.
    `boolean` | `isBatchConflationEnabled()` Represents whether batch conflation is enabled for batches sent from `AsyncEventQueue`.
    `boolean` | `isDiskSynchronous()` Represents whether writing to disk is synchronous or not.
    `boolean` | `isForwardExpirationDestroy()` Represents if expiration destroy operations are forwarded (passed) to `AsyncEventListener`.
    `boolean` | `isParallel()` Represents whether this queue is parallel (higher throughput) or serial.
    `boolean` | `isPersistent()` Represents whether the AsyncEventQueue is configured to be persistent or non-persistent.
    `boolean` | `isPrimary()` Represents whether the queue is primary or secondary.
    `int` | `size()` Returns the number of entries in this `AsyncEventQueue`.

- - ### Method Detail

    - #### getId

          java.lang.String getId()

      Returns:
        String Id of the AsyncEventQueue

    - #### getDiskStoreName

          java.lang.String getDiskStoreName()

      The Disk store that is required for overflow and persistence

    - #### getMaximumQueueMemory

          int getMaximumQueueMemory()

      The maximum memory after which the data needs to be overflowed to disk. Default is 100 MB.

    - #### getBatchSize

          int getBatchSize()

      Represents the size of a batch that gets delivered over the AsyncEventQueue. Default batchSize is 100.

    - #### getBatchTimeInterval

          int getBatchTimeInterval()

      Represents the maximum time interval that can elapse before a batch is sent from `AsyncEventQueue`. Default batchTimeInterval is 5 ms.

    - #### isBatchConflationEnabled

          boolean isBatchConflationEnabled()

      Represents whether batch conflation is enabled for batches sent from `AsyncEventQueue`. Default is false.

    - #### isPersistent

          boolean isPersistent()

      Represents whether the AsyncEventQueue is configured to be persistent or non-persistent. Default is false.

    - #### isDiskSynchronous

          boolean isDiskSynchronous()

      Represents whether writing to disk is synchronous or not. Default is true.

    - #### isPrimary

          boolean isPrimary()

      Represents whether the queue is primary or secondary. Events get delivered only by the primary queue. If the primary queue goes down then the secondary queue first becomes primary and then starts delivering the events.

    - #### getAsyncEventListener

          AsyncEventListener getAsyncEventListener()

      The `AsyncEventListener` that is attached to the queue. All the event passing over the queue are delivered to attached listener.
      Returns:
        AsyncEventListener Implementation of AsyncEventListener

    - #### isParallel

          boolean isParallel()

      Represents whether this queue is parallel (higher throughput) or serial.
      Returns:
        boolean True if the queue is parallel, false otherwise.

    - #### getDispatcherThreads

          int getDispatcherThreads()

      Returns the number of dispatcher threads working for this `AsyncEventQueue`. Default number of dispatcher threads is 5.
      Returns:
        the number of dispatcher threads working for this `AsyncEventQueue`

    - #### getOrderPolicy

          GatewaySender.OrderPolicy getOrderPolicy()

      Returns the order policy followed while dispatching the events to AsyncEventListener. Order policy is set only when dispatcher threads are > 1. Default order policy is KEY.
      Returns:
        the order policy followed while dispatching the events to AsyncEventListener.

    - #### size

          int size()

      Returns the number of entries in this `AsyncEventQueue`.
      Returns:
        the number of entries in this `AsyncEventQueue`.

    - #### getGatewayEventFilters

          java.util.List<GatewayEventFilter> getGatewayEventFilters()

      Returns the `GatewayEventFilters` for this `AsyncEventQueue`
      Returns:
        the `GatewayEventFilters` for this `AsyncEventQueue`

    - #### getGatewayEventSubstitutionFilter

          GatewayEventSubstitutionFilter getGatewayEventSubstitutionFilter()

      Returns the `GatewayEventSubstitutionFilter` for this `AsyncEventQueue`
      Returns:
        the `GatewayEventSubstitutionFilter` for this `AsyncEventQueue`

    - #### isForwardExpirationDestroy

          boolean isForwardExpirationDestroy()

      Represents if expiration destroy operations are forwarded (passed) to `AsyncEventListener`.
      Returns:
        boolean True if expiration destroy operations are forwarded.