IRequestScheduler (apache-cassandra API)
Date: 2018-02-14

org.apache.cassandra.scheduler

## Interface IRequestScheduler

- All Known Implementing Classes:
    NoScheduler, RoundRobinScheduler

      public interface IRequestScheduler

  Implementors of IRequestScheduler must provide a constructor taking a RequestSchedulerOptions object.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `queue(java.lang.Thread t, java.lang.String id, long timeoutMS)` Queue incoming request threads
    `void` | `release()` A convenience method for indicating when a particular request has completed processing, and before a return to the client

- - ### Method Detail

    - #### queue

          void queue(java.lang.Thread t,
                     java.lang.String id,
                     long timeoutMS)
              throws java.util.concurrent.TimeoutException

      Queue incoming request threads
      Parameters:
        `t` - Thread handing the request
        `id` - Scheduling parameter, an id to distinguish profiles (users/keyspace)
        `timeoutMS` - The max time in milliseconds to spend blocking for a slot
      Throws:
        `java.util.concurrent.TimeoutException`

    - #### release

          void release()

      A convenience method for indicating when a particular request has completed processing, and before a return to the client

Copyright © 2018 The Apache Software Foundation