Class AbstractQueueScheduler
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractQueue<Job>
-
- ai.preferred.venom.job.AbstractQueueScheduler
-
- All Implemented Interfaces:
Scheduler
,java.lang.Iterable<Job>
,java.util.Collection<Job>
,java.util.concurrent.BlockingQueue<Job>
,java.util.Queue<Job>
- Direct Known Subclasses:
FIFOScheduler
,LazyScheduler
,PriorityQueueScheduler
public abstract class AbstractQueueScheduler extends java.util.AbstractQueue<Job> implements Scheduler, java.util.concurrent.BlockingQueue<Job>
- Author:
- Ween Jiann Lee, Maksim Tkachenko
-
-
Constructor Summary
Constructors Constructor Description AbstractQueueScheduler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(Request r)
Adds a request to the queue.void
add(Request r, Handler h)
Adds a request to the queue.void
add(Request r, Handler h, Priority p)
Adds a request to the queue.void
add(Request r, Priority p)
Adds a request to the queue.void
add(Request r, Priority p, Priority pf)
Adds a request to the queue.int
drainTo(java.util.Collection<? super Job> c)
int
drainTo(java.util.Collection<? super Job> c, int maxElements)
java.util.Iterator<Job>
iterator()
boolean
offer(Job job)
Job
peek()
int
remainingCapacity()
int
size()
Job
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
-
Methods inherited from interface java.util.concurrent.BlockingQueue
add, contains, offer, poll, put, remove
-
-
-
-
Method Detail
-
add
public final void add(Request r, Handler h, Priority p)
Description copied from interface:Scheduler
Adds a request to the queue.This request would be parsed by the handler specified, and its priority can be downgraded to the default minimum priority.
-
add
public final void add(Request r, Handler h)
Description copied from interface:Scheduler
Adds a request to the queue.This request would be parsed by the handler specified, and it's initialised with default priority that can be downgraded to the default minimum priority.
-
add
public final void add(Request r, Priority p, Priority pf)
Description copied from interface:Scheduler
Adds a request to the queue.This request would be parsed by a handler defined in Router or otherwise, and its priority can be downgraded to a minimum priority specified.
-
add
public final void add(Request r, Priority p)
Description copied from interface:Scheduler
Adds a request to the queue.This request would be parsed by a handler defined in Router or otherwise defined, and its priority can be downgraded to the default minimum priority.
-
add
public final void add(Request r)
Description copied from interface:Scheduler
Adds a request to the queue.This request would be parsed by a handler defined in Router or otherwise defined, and it's initialised with default priority that can be downgraded to the default minimum priority.
-
iterator
@Nonnull public final java.util.Iterator<Job> iterator()
-
size
public final int size()
-
take
@Nonnull public final Job take() throws java.lang.InterruptedException
- Specified by:
take
in interfacejava.util.concurrent.BlockingQueue<Job>
- Throws:
java.lang.InterruptedException
-
remainingCapacity
public final int remainingCapacity()
- Specified by:
remainingCapacity
in interfacejava.util.concurrent.BlockingQueue<Job>
-
drainTo
public final int drainTo(@Nonnull java.util.Collection<? super Job> c)
- Specified by:
drainTo
in interfacejava.util.concurrent.BlockingQueue<Job>
-
drainTo
public final int drainTo(@Nonnull java.util.Collection<? super Job> c, int maxElements)
- Specified by:
drainTo
in interfacejava.util.concurrent.BlockingQueue<Job>
-
offer
public final boolean offer(@Nonnull Job job)
-
-