Package ai.preferred.venom.job
Class LazyPriorityQueueScheduler
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractQueue<Job>
-
- ai.preferred.venom.job.AbstractQueueScheduler
-
- ai.preferred.venom.job.AbstractPriorityQueueScheduler
-
- ai.preferred.venom.job.LazyPriorityQueueScheduler
-
- All Implemented Interfaces:
QueueScheduler
,java.lang.Iterable<Job>
,java.util.Collection<Job>
,java.util.concurrent.BlockingQueue<Job>
,java.util.Queue<Job>
public class LazyPriorityQueueScheduler extends AbstractPriorityQueueScheduler
This class provides and implementation of scheduler with a priority sensitive queue and polls from iterator when queue is empty.Jobs in queue will be processed first in order of higher priority, followed by requests in the iterator.
- Author:
- Maksim Tkachenko, Ween Jiann Lee
-
-
Constructor Summary
Constructors Constructor Description LazyPriorityQueueScheduler(java.util.Iterator<Request> requests)
Constructs an instance of lazy scheduler without a default handler.LazyPriorityQueueScheduler(java.util.Iterator<Request> requests, Handler handler)
Constructs an instance of lazy scheduler with a default handler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isEmpty()
Job
poll()
Job
poll(long time, java.util.concurrent.TimeUnit unit)
-
Methods inherited from class ai.preferred.venom.job.AbstractPriorityQueueScheduler
offer, offer, put
-
Methods inherited from class ai.preferred.venom.job.AbstractQueueScheduler
drainTo, drainTo, getQueue, getScheduler, iterator, peek, remainingCapacity, size, take
-
Methods inherited from class java.util.AbstractCollection
contains, containsAll, remove, removeAll, retainAll, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Constructor Detail
-
LazyPriorityQueueScheduler
public LazyPriorityQueueScheduler(java.util.Iterator<Request> requests, Handler handler)
Constructs an instance of lazy scheduler with a default handler.- Parameters:
requests
- An iterator to obtain requestshandler
- The default handler to use
-
LazyPriorityQueueScheduler
public LazyPriorityQueueScheduler(java.util.Iterator<Request> requests)
Constructs an instance of lazy scheduler without a default handler.- Parameters:
requests
- An iterator to obtain requests
-
-