DJ - The delegate-job type.DQ - The queue-type for delegate jobs.J - The job type.Q - The queue type for jobs.public class JRQ<DJ extends AbstractSimJob,DQ extends SimQueue,J extends SimJob,Q extends JRQ> extends AbstractParallelSimQueues<DJ,DQ,J,Q>
Join Random Queue.
One of the sub-queue is selected at random (independently), with equal probabilities.
For non-uniform selection distributions, consider Jackson,
of which this composite queue is a special case.
This queue uses the LocalStart model as explained with AbstractSimQueueComposite_LocalStart.
AbstractSimQueueComposite.RealDelegateJobMapper<J extends SimJob,DJ extends SimJob>AbstractSimEntity.Notifier, AbstractSimEntity.PreNotificationHookSimQueue.AutoRevocationPolicySimEntity.Action, SimEntity.UnknownNotificationTypePolicy, SimEntity.UnknownOperationPolicyrealDelegateJobMappereventsScheduled, SANITYUSE_ARRAY_OPTIMIZATION| Constructor and Description |
|---|
JRQ(org.javades.jsimulation.r5.SimEventList eventList,
Set<DQ> queues,
DelegateSimJobFactory delegateSimJobFactory,
Random rng)
Creates a parallel queueing system with random selection policy.
|
| Modifier and Type | Method and Description |
|---|---|
JRQ<DJ,DQ,J,Q> |
getCopySimQueue()
Returns a new
JRQ object on the same SimEventList with copies of the sub-queues,
a new RNG, and the same delegate-job factory. |
protected void |
resetEntitySubClass()
Calls super method (in order to make implementation final).
|
String |
toStringDefault()
Returns "Random[queue list]".
|
processSubQueueNotificationsgetQoS, getQoSClass, getServiceTimeForJob, insertJobInQueueUponArrival, insertJobInQueueUponStart, isStartArmed, queueAccessVacationDropSubClass, removeJobFromQueueUponDeparture, removeJobFromQueueUponDrop, removeJobFromQueueUponRevokation, rescheduleAfterArrival, rescheduleAfterDeparture, rescheduleAfterDrop, rescheduleAfterRevokation, rescheduleAfterStart, rescheduleForNewServerAccessCredits, setServerAccessCreditsSubClassaddRealJobLocal, getCopySimQueues, getCopySubSimQueues, getDelegateJob, getDelegateJobMild, getDelegateSimJobFactory, getIndex, getIndex, getQueue, getQueue, getQueues, getRealJob, getRealJob, getSimQueueSelector, isDelegateJob, isRealJob, notifyResetEntity, notifyStateChanged, notifyUpdate, removeJobsFromQueueLocal, resetSimQueueSelector, selectFirstQueue, selectNextQueue, setDelegateSimJobFactoryarrive, autoRevoke, cancelDepartureEvent, cancelDepartureEvent, depart, departureFromEventList, drop, getAutoRevocationPolicy, getDepartureEvents, getDepartureEvents, getFirstJob, getFirstJobInServiceArea, getFirstJobInWaitingArea, getJobs, getJobsInServiceArea, getJobsInWaitingArea, getNumberOfJobs, getNumberOfJobsInServiceArea, getNumberOfJobsInWaitingArea, getServerAccessCredits, hasJobs, hasJobsInServiceArea, hasJobsInWaitingArea, hasServerAcccessCredits, isJob, isJobInServiceArea, isJobInWaitingArea, isQueueAccessVacation, registerStdOutSimQueueListener, revoke, revoke, scheduleDepartureEvent, scheduleJobArrival, setAutoRevocationPolicy, setQueueAccessVacation, setServerAccessCredits, start, takeServerAccessCredit, triggerPotentialNewStartArmed, unregisterStdOutSimQueueListeneraddPendingNotification, addPendingNotification, clearAndUnlockPendingNotificationsIfLocked, delegateOperation, doAfterNotifications, doOperation, fireAndLockPendingNotifications, getEventList, getLastUpdateTime, getRegisteredDelegatedOperations, getRegisteredNotificationTypes, getRegisteredOperations, getSimEntityListeners, getUnknownNotificationTypePolicy, getUnknownOperationPolicy, isIgnoreEventListReset, notifyEventListReset, registerDelegatedOperation, registerNotificationType, registerOperation, registerPreEventHook, registerPreNotificationHook, registerPreUpdateHook, registerSimEntityListener, registerStdOutSimEntityListener, removeDelegationForOperation, resetEntity, setIgnoreEventListReset, setName, setUnknownNotificationTypePolicy, setUnknownOperationPolicy, toString, unregisterSimEntityListener, unregisterStdOutSimEntityListener, updateclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitarrive, getAutoRevocationPolicy, getJobs, getJobsInServiceArea, getJobsInWaitingArea, getNumberOfJobs, getNumberOfJobsInServiceArea, getNumberOfJobsInWaitingArea, getServerAccessCredits, isJob, isJobInServiceArea, isJobInWaitingArea, isQueueAccessVacation, revoke, revoke, setAutoRevocationPolicy, setQueueAccessVacation, setServerAccessCreditsdoAfterNotifications, doOperation, getEventList, getLastUpdateTime, getRegisteredNotificationTypes, getRegisteredOperations, getSimEntityListeners, getUnknownNotificationTypePolicy, getUnknownOperationPolicy, isIgnoreEventListReset, registerSimEntityListener, resetEntity, setIgnoreEventListReset, setName, setUnknownNotificationTypePolicy, setUnknownOperationPolicy, unregisterSimEntityListener, updatepublic JRQ(org.javades.jsimulation.r5.SimEventList eventList,
Set<DQ> queues,
DelegateSimJobFactory delegateSimJobFactory,
Random rng)
eventList - The event list to use.queues - The queues (with deterministic iteration order).delegateSimJobFactory - An optional factory for the delegate SimJobs.rng - An optional user-supplied random-number generator
(if absent, a new one is created for local use).IllegalArgumentException - If the event list is null,
the queues argument is null,
or if it contains a null entry.DelegateSimJobFactory,
DefaultDelegateSimJobFactory,
SimQueueSelector,
Randompublic JRQ<DJ,DQ,J,Q> getCopySimQueue()
JRQ object on the same SimEventList with copies of the sub-queues,
a new RNG, and the same delegate-job factory.JRQ object on the same SimEventList with copies of the sub-queues,
a new RNG, and the same delegate-job factory.UnsupportedOperationException - If the encapsulated queues could not be copied through SimQueue.getCopySimQueue().AbstractSimEntity.getEventList(),
AbstractSimQueueComposite.getCopySubSimQueues(),
AbstractSimQueueComposite.getDelegateSimJobFactory()public String toStringDefault()
toStringDefault in interface SimEntitytoStringDefault in class AbstractSimQueue<J extends SimJob,Q extends JRQ>SimEntity.setName(java.lang.String),
Object.toString()protected final void resetEntitySubClass()
resetEntitySubClass in class AbstractSimQueueComposite_LocalStart<DJ extends AbstractSimJob,DQ extends SimQueue,J extends SimJob,Q extends JRQ>AbstractSimQueueComposite_LocalStart.removeJobFromQueueUponRevokation(J, double, boolean),
AbstractSimQueueComposite_LocalStart.rescheduleAfterRevokation(J, double, boolean),
SimEntity.resetEntity()Copyright © 2018. All rights reserved.