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, queues
lossProbability, numberOfMessages, numberOfUnits, parent, simNode, transferTime, waitingTime
CREATE_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, updateLongestQList
dequeue, dropScheduledNext, enqueue, getCurrentNumberOfMessages, getCurrentNumberOfUnits, getName, getNode, getParent, handleLossMessage, handleMessage, handleRejectedMessage, hasSpaceFor, statsUpdateDequeue, statsUpdateEnqueue, statsUpdateLoss, statsUpdateReject
protected 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)
ReflectionConstructable
public boolean wouldStore(Message msg)
wouldStore
in interface QueuingDiscipline
wouldStore
in class FairQueuing
ProbabilisticQeuingDiscipline
s. 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 FairQueuing
protected void updateActiveQList(ikr.simlib.algorithms.queuingDisciplines.FairQueuing.SortableQDiscContainer sq, double oldPos)
updateActiveQList
in class FairQueuing
protected void advanceActiveQ()
advanceActiveQ
in class FairQueuing
public ikr.simlib.algorithms.queuingDisciplines.FairQueuing.SortableQDiscContainer createSortableQDisc(StackableQueuingDiscipline q)
createSortableQDisc
in class FairQueuing
protected boolean activeQListIsEmpty()
FairQueuing
activeQListIsEmpty
in class FairQueuing