public class DeficitRoundRobinFairQueuing extends FairQueuing
QueuingDiscipline.QueueEntry| Modifier and Type | Field and Description |
|---|---|
protected int |
activeQIndex |
protected java.util.LinkedList<ikr.simlib.algorithms.queuingDisciplines.FairQueuing.SortableQDiscContainer> |
activeQs |
protected long |
deficitIncrement |
activeQ, longestQList, maxSizeInUnits, queueslossProbability, numberOfMessages, numberOfUnits, parent, simNode, transferTime, waitingTimeCREATE_INSTANCE_METHOD_NAME| Constructor and Description |
|---|
DeficitRoundRobinFairQueuing(SimNode ownNode,
Parameters pars) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
activeQListIsEmpty()
update the sortedQList, that defines which Q is dequeued next, and the
longestQList, which defines which Q would be dropped from next, if push()
makes that necessary
|
protected void |
addToActiveQList(ikr.simlib.algorithms.queuingDisciplines.FairQueuing.SortableQDiscContainer sq) |
protected void |
advanceActiveQ() |
static DeficitRoundRobinFairQueuing |
createInstance(SimNode ownNode,
Parameters pars)
as required by
ReflectionConstructable |
ikr.simlib.algorithms.queuingDisciplines.FairQueuing.SortableQDiscContainer |
createSortableQDisc(StackableQueuingDiscipline q) |
protected void |
updateActiveQList(ikr.simlib.algorithms.queuingDisciplines.FairQueuing.SortableQDiscContainer sq,
double oldPos) |
boolean |
wouldStore(Message msg)
This is just a simplified option to implement the dropping estimation.
|
bufferStealing, getMaxSizeInUnits, isEmpty, peek, pop, push, updateLongestQListdequeue, dropScheduledNext, enqueue, getCurrentNumberOfMessages, getCurrentNumberOfUnits, getName, getNode, getParent, handleLossMessage, handleMessage, handleRejectedMessage, hasSpaceFor, statsUpdateDequeue, statsUpdateEnqueue, statsUpdateLoss, statsUpdateRejectprotected java.util.LinkedList<ikr.simlib.algorithms.queuingDisciplines.FairQueuing.SortableQDiscContainer> activeQs
protected int activeQIndex
protected final long deficitIncrement
public DeficitRoundRobinFairQueuing(SimNode ownNode, Parameters pars)
public static DeficitRoundRobinFairQueuing createInstance(SimNode ownNode, Parameters pars)
ReflectionConstructablepublic boolean wouldStore(Message msg)
wouldStore in interface QueuingDisciplinewouldStore in class FairQueuingProbabilisticQeuingDisciplines. For these, two subsequent
calls with the same message may return different results!protected void addToActiveQList(ikr.simlib.algorithms.queuingDisciplines.FairQueuing.SortableQDiscContainer sq)
addToActiveQList in class FairQueuingprotected void updateActiveQList(ikr.simlib.algorithms.queuingDisciplines.FairQueuing.SortableQDiscContainer sq,
double oldPos)
updateActiveQList in class FairQueuingprotected void advanceActiveQ()
advanceActiveQ in class FairQueuingpublic ikr.simlib.algorithms.queuingDisciplines.FairQueuing.SortableQDiscContainer createSortableQDisc(StackableQueuingDiscipline q)
createSortableQDisc in class FairQueuingprotected boolean activeQListIsEmpty()
FairQueuingactiveQListIsEmpty in class FairQueuing