java.lang.Iterable<E>, java.util.Collection<E>, java.util.concurrent.BlockingQueue<E>, java.util.Queue<E>public class FairCallQueue<E extends Schedulable>
extends java.util.AbstractQueue<E>
implements java.util.concurrent.BlockingQueue<E>
| Modifier and Type | Field | Description |
|---|---|---|
static int |
IPC_CALLQUEUE_PRIORITY_LEVELS_DEFAULT |
Deprecated.
|
static java.lang.String |
IPC_CALLQUEUE_PRIORITY_LEVELS_KEY |
Deprecated.
|
static org.slf4j.Logger |
LOG |
| Constructor | Description |
|---|---|
FairCallQueue(int priorityLevels,
int capacity,
java.lang.String ns,
boolean serverFailOverEnabled,
Configuration conf) |
|
FairCallQueue(int priorityLevels,
int capacity,
java.lang.String ns,
int[] capacityWeights,
boolean serverFailOverEnabled,
Configuration conf) |
Create a FairCallQueue.
|
FairCallQueue(int priorityLevels,
int capacity,
java.lang.String ns,
Configuration conf) |
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
add(E e) |
Add, put, and offer follow the same pattern:
1.
|
int |
drainTo(java.util.Collection<? super E> c) |
|
int |
drainTo(java.util.Collection<? super E> c,
int maxElements) |
drainTo defers to each sub-queue.
|
long[] |
getOverflowedCalls() |
|
int[] |
getQueueSizes() |
|
boolean |
isServerFailOverEnabled() |
|
java.util.Iterator<E> |
iterator() |
Iterator is not implemented, as it is not needed.
|
boolean |
offer(E e) |
|
boolean |
offer(E e,
long timeout,
java.util.concurrent.TimeUnit unit) |
|
E |
peek() |
Peek, like poll, provides no strict consistency.
|
E |
poll() |
poll() provides no strict consistency: it is possible for poll to return
null even though an element is in the queue.
|
E |
poll(long timeout,
java.util.concurrent.TimeUnit unit) |
|
void |
put(E e) |
|
int |
remainingCapacity() |
Returns maximum remaining capacity.
|
void |
setMultiplexer(RpcMultiplexer newMux) |
|
int |
size() |
Size returns the sum of all sub-queue sizes, so it may be greater than
capacity.
|
E |
take() |
contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait@Deprecated public static final int IPC_CALLQUEUE_PRIORITY_LEVELS_DEFAULT
@Deprecated public static final java.lang.String IPC_CALLQUEUE_PRIORITY_LEVELS_KEY
public static final org.slf4j.Logger LOG
@VisibleForTesting
public FairCallQueue(int priorityLevels,
int capacity,
java.lang.String ns,
Configuration conf)
@VisibleForTesting
public FairCallQueue(int priorityLevels,
int capacity,
java.lang.String ns,
boolean serverFailOverEnabled,
Configuration conf)
public FairCallQueue(int priorityLevels,
int capacity,
java.lang.String ns,
int[] capacityWeights,
boolean serverFailOverEnabled,
Configuration conf)
priorityLevels - the total size of all multi-level queue
priority policiescapacity - the total size of all sub-queuesns - the prefix to use for configurationcapacityWeights - the weights array for capacity allocation
among subqueuesserverFailOverEnabled - whether or not to enable callqueue overflow trigger failover
for stateless servers when RPC call queue is filledconf - the configuration to read from
Notes: Each sub-queue has a capacity of `capacity / numSubqueues`.
The first or the highest priority sub-queue has an excess capacity
of `capacity % numSubqueues`public boolean add(E e)
add in interface java.util.concurrent.BlockingQueue<E extends Schedulable>add in interface java.util.Collection<E extends Schedulable>add in interface java.util.Queue<E extends Schedulable>add in class java.util.AbstractQueue<E extends Schedulable>public void put(E e) throws java.lang.InterruptedException
put in interface java.util.concurrent.BlockingQueue<E extends Schedulable>java.lang.InterruptedExceptionpublic boolean offer(E e, long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
offer in interface java.util.concurrent.BlockingQueue<E extends Schedulable>java.lang.InterruptedExceptionpublic boolean offer(E e)
offer in interface java.util.concurrent.BlockingQueue<E extends Schedulable>offer in interface java.util.Queue<E extends Schedulable>public E take() throws java.lang.InterruptedException
take in interface java.util.concurrent.BlockingQueue<E extends Schedulable>java.lang.InterruptedExceptionpublic E poll(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
poll in interface java.util.concurrent.BlockingQueue<E extends Schedulable>java.lang.InterruptedExceptionpublic E poll()
poll in interface java.util.Queue<E extends Schedulable>public E peek()
peek in interface java.util.Queue<E extends Schedulable>public int size()
size in interface java.util.Collection<E extends Schedulable>size in class java.util.AbstractCollection<E extends Schedulable>public java.util.Iterator<E> iterator()
iterator in interface java.util.Collection<E extends Schedulable>iterator in interface java.lang.Iterable<E extends Schedulable>iterator in class java.util.AbstractCollection<E extends Schedulable>public int drainTo(java.util.Collection<? super E> c, int maxElements)
drainTo in interface java.util.concurrent.BlockingQueue<E extends Schedulable>public int drainTo(java.util.Collection<? super E> c)
drainTo in interface java.util.concurrent.BlockingQueue<E extends Schedulable>public int remainingCapacity()
remainingCapacity in interface java.util.concurrent.BlockingQueue<E extends Schedulable>public int[] getQueueSizes()
public long[] getOverflowedCalls()
@VisibleForTesting public void setMultiplexer(RpcMultiplexer newMux)
@VisibleForTesting public boolean isServerFailOverEnabled()
Copyright © 2008–2025 Apache Software Foundation. All rights reserved.