public class MessageFairQueuing extends FairQueuing
MessageClassificator to aggregate incoming Message
sStackableQueuingDiscipline per class of
Messages, as identified by the MessageClassificatorMessageClassificator. 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, queueslossProbability, numberOfMessages, numberOfUnits, parent, simNode, transferTime, waitingTimeCREATE_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, 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
public MessageFairQueuing(SimNode ownNode, Parameters pars)
public static MessageFairQueuing 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!public ikr.simlib.algorithms.queuingDisciplines.FairQueuing.SortableQDiscContainer createSortableQDisc(StackableQueuingDiscipline q)
createSortableQDisc in class FairQueuingprotected boolean activeQListIsEmpty()
FairQueuingactiveQListIsEmpty in class FairQueuingprotected 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 FairQueuing