Package ai.preferred.venom.job
Class PriorityQueueScheduler
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractQueue<Job>
-
- ai.preferred.venom.job.AbstractQueueScheduler
-
- ai.preferred.venom.job.PriorityQueueScheduler
-
- All Implemented Interfaces:
Scheduler,java.lang.Iterable<Job>,java.util.Collection<Job>,java.util.concurrent.BlockingQueue<Job>,java.util.Queue<Job>
public class PriorityQueueScheduler extends AbstractQueueScheduler
This class provides and implementation of scheduler with a priority sensitive queue.Jobs with higher priority will be processed first.
- Author:
- Maksim Tkachenko, Ween Jiann Lee
-
-
Constructor Summary
Constructors Constructor Description PriorityQueueScheduler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(Request r, Handler h, Priority p, Priority pf)Adds a request to the queue.booleanoffer(Job job, long timeout, java.util.concurrent.TimeUnit unit)Jobpoll()Jobpoll(long timeout, java.util.concurrent.TimeUnit unit)voidput(Job job)-
Methods inherited from class ai.preferred.venom.job.AbstractQueueScheduler
add, add, add, add, add, drainTo, drainTo, iterator, offer, peek, remainingCapacity, size, take
-
Methods inherited from class java.util.AbstractCollection
contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Method Detail
-
add
public final void add(Request r, Handler h, Priority p, Priority pf)
Description copied from interface:SchedulerAdds a request to the queue.This request would be parsed by the handler specified, and its priority can be downgraded to a minimum priority specified.
- Parameters:
r- request to fetch when dequeuedh- handler to be used to parse the requestp- initial priority of the requestpf- the minimum (floor) priority of this request
-
put
public final void put(@Nonnull Job job)
-
offer
public final boolean offer(Job job, long timeout, @Nonnull java.util.concurrent.TimeUnit unit)
-
poll
public final Job poll(long timeout, @Nonnull java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
poll
public final Job poll()
-
-