scone.robot
Class FairBreadthSearchURLQueue

java.lang.Object
  extended by scone.robot.GenericURLQueue
      extended by scone.robot.FairBreadthSearchURLQueue
All Implemented Interfaces:
URLQueue

public class FairBreadthSearchURLQueue
extends GenericURLQueue

The FairBreadthSearchURLQueue simulates a set of fifo-ques, one for every robotTask. In every dequeue operation an entry from a different task is taken form the queue. A round-robin strategy is used to choose the next task.

Author:
Frank Wollenweber

Field Summary
protected  scone.robot.FairBreadthSearchURLQueue.Ring ring
           
 
Fields inherited from class scone.robot.GenericURLQueue
numberOfElements, queue
 
Constructor Summary
FairBreadthSearchURLQueue()
          constructor
 
Method Summary
 QueueEntry dequeue()
          Get the next entry from the queue
 void removeAllQueueEntries(RobotTask robotTask)
          Remove all queueEntries of the specified robotTask
 void removeQueueEntry(QueueEntry qe)
          Remove an entry from the queue
 
Methods inherited from class scone.robot.GenericURLQueue
getNumberOfPendingQueueEntries, getNumberOfPendingQueueEntries, getPendingQueueEntries, getPendingQueueEntries, getPendingURL, isPendingURL, queue, size
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ring

protected scone.robot.FairBreadthSearchURLQueue.Ring ring
Constructor Detail

FairBreadthSearchURLQueue

public FairBreadthSearchURLQueue()
constructor

Method Detail

dequeue

public QueueEntry dequeue()
Get the next entry from the queue

Returns:
The next entry

removeAllQueueEntries

public void removeAllQueueEntries(RobotTask robotTask)
Remove all queueEntries of the specified robotTask

Specified by:
removeAllQueueEntries in interface URLQueue
Overrides:
removeAllQueueEntries in class GenericURLQueue
Parameters:
robotTask - removes all queue entries of this task

removeQueueEntry

public void removeQueueEntry(QueueEntry qe)
Remove an entry from the queue

Specified by:
removeQueueEntry in interface URLQueue
Overrides:
removeQueueEntry in class GenericURLQueue
Parameters:
qe - The entry to remove