org.apache.cassandra.scheduler
Class RoundRobinScheduler

java.lang.Object
  extended by org.apache.cassandra.scheduler.RoundRobinScheduler
All Implemented Interfaces:
IRequestScheduler

public class RoundRobinScheduler
extends java.lang.Object
implements IRequestScheduler

A very basic Round Robin implementation of the RequestScheduler. It handles request groups identified on user/keyspace by placing them in separate queues and servicing a request from each queue in a RoundRobin fashion. It optionally adds weights for each round.


Constructor Summary
RoundRobinScheduler(RequestSchedulerOptions options)
           
 
Method Summary
 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RoundRobinScheduler

public RoundRobinScheduler(RequestSchedulerOptions options)
Method Detail

queue

public void queue(java.lang.Thread t,
                  java.lang.String id,
                  long timeoutMS)
           throws java.util.concurrent.TimeoutException
Description copied from interface: IRequestScheduler
Queue incoming request threads

Specified by:
queue in interface IRequestScheduler
Parameters:
t - Thread handing the request
id - Scheduling parameter, an id to distinguish profiles (users/keyspace)
Throws:
java.util.concurrent.TimeoutException

release

public void release()
Description copied from interface: IRequestScheduler
A convenience method for indicating when a particular request has completed processing, and before a return to the client

Specified by:
release in interface IRequestScheduler


Copyright © 2011 The Apache Software Foundation