org.apache.geode.cache.wan

## Interface GatewayEventFilter

- All Superinterfaces:
    CacheCallback, Declarable

      public interface GatewayEventFilter
      extends CacheCallback

  Callback for users to filter out events before dispatching to remote distributed system
  Since:
    GemFire 7.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `afterAcknowledgement(GatewayQueueEvent event)` It will be invoked once GatewaySender receives an ack from remote GatewayReceiver This callback will always be called from the thread which is dispatching events to remote distributed systems
    `boolean` | `beforeEnqueue(GatewayQueueEvent event)` It will be invoked before enqueuing event into GatewaySender's queue.
    `boolean` | `beforeTransmit(GatewayQueueEvent event)` It will be invoked before dispatching event to remote GatewayReceiver This callback is asynchronous with the thread which is enqueuing the event into GatewaySender's queue. This callback will always be called from the thread which is dispatching events to remote distributed systems

    - ### Methods inherited from interface org.apache.geode.cache.CacheCallback

      `close`

    - ### Methods inherited from interface org.apache.geode.cache.Declarable

      `init, initialize`

- - ### Method Detail

    - #### beforeEnqueue

          boolean beforeEnqueue(GatewayQueueEvent event)

      It will be invoked before enqueuing event into GatewaySender's queue.
      This callback is synchronous with the thread which is enqueuing the event into GatewaySender's queue.
      Parameters:
        `event` -
      Returns:
        true if event should be enqueued otherwise return false.

    - #### beforeTransmit

          boolean beforeTransmit(GatewayQueueEvent event)

      It will be invoked before dispatching event to remote GatewayReceiver
      This callback is asynchronous with the thread which is enqueuing the event into GatewaySender's queue.
      This callback will always be called from the thread which is dispatching events to remote distributed systems
      Parameters:
        `event` -
      Returns:
        true if event should be dispatched otherwise return false.

    - #### afterAcknowledgement

          void afterAcknowledgement(GatewayQueueEvent event)

      It will be invoked once GatewaySender receives an ack from remote GatewayReceiver
      This callback will always be called from the thread which is dispatching events to remote distributed systems
      Parameters:
        `event` -