net.i2p.router.tunnel

## Interface TunnelGateway.QueuePreprocessor

- All Known Implementing Classes:
    BatchedPreprocessor, BatchedRouterPreprocessor, TrivialPreprocessor, TrivialRouterPreprocessor
  Enclosing class:
    TunnelGateway

      public static interface TunnelGateway.QueuePreprocessor

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `getDelayAmount()` how long do we want to wait before flushing
    `boolean` | `preprocessQueue(List<TunnelGateway.Pending> pending, TunnelGateway.Sender sender, TunnelGateway.Receiver receiver)` Caller must synchronize on the list!

- - ### Method Detail

    - #### preprocessQueue

          boolean preprocessQueue(List<TunnelGateway.Pending> pending,
                                TunnelGateway.Sender sender,
                                TunnelGateway.Receiver receiver)

      Caller must synchronize on the list!
      Parameters:
        `pending` - list of Pending objects for messages either unsent or partly sent. This list should be update with any values removed (the preprocessor owns the lock) Messages are not removed from the list until actually sent. The status of unsent and partially-sent messages is stored in the Pending structure.
      Returns:
        true if we should delay before preprocessing again

    - #### getDelayAmount

          long getDelayAmount()

      how long do we want to wait before flushing