public class MessageFairQueuing extends FairQueuing
MessageClassificator
to aggregate incoming Message
sStackableQueuingDiscipline
per class of
Message
s, as identified by the MessageClassificator
MessageClassificator
. This can be
achieved by using a MessageClassificator
, that uses a limited number
of classes as for the usual Stochastic Fair Queuing (perturbation would have
to be implemented in the MessageClassificator
, too).QueuingDiscipline.QueueEntry
Modifier and Type | Field and Description |
---|---|
protected int |
activeQIndex |
protected java.util.LinkedList<ikr.simlib.algorithms.queuingDisciplines.FairQueuing.SortableQDiscContainer> |
activeQs |
activeQ, longestQList, maxSizeInUnits, queues
lossProbability, numberOfMessages, numberOfUnits, parent, simNode, transferTime, waitingTime
CREATE_INSTANCE_METHOD_NAME
Constructor and Description |
---|
MessageFairQueuing(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 MessageFairQueuing |
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) |
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
public MessageFairQueuing(SimNode ownNode, Parameters pars)
public static MessageFairQueuing 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!public ikr.simlib.algorithms.queuingDisciplines.FairQueuing.SortableQDiscContainer createSortableQDisc(StackableQueuingDiscipline q)
createSortableQDisc
in class FairQueuing
protected boolean activeQListIsEmpty()
FairQueuing
activeQListIsEmpty
in class FairQueuing
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