J - The type of SimJobs supported.Q - The type of SimQueues supported.P - The type used for QoS.public abstract class AbstractSimQueueQoS<J extends SimJob,Q extends AbstractSimQueueQoS,P extends Comparable> extends AbstractSimQueue<J,Q> implements SimQueueQoS<J,Q,P>
SimQueueQoS based upon AbstractSimQueue.Copyright (C) 2005-2017 Jan de Jongh, TNO
This file is covered by the LICENSE file in the root of this project.
AbstractSimEntity.Notifier, AbstractSimEntity.PreNotificationHookSimQueue.AutoRevocationPolicySimEntity.Action, SimEntity.UnknownNotificationTypePolicy, SimEntity.UnknownOperationPolicyeventsScheduled, SANITYUSE_ARRAY_OPTIMIZATION| Modifier | Constructor and Description |
|---|---|
protected |
AbstractSimQueueQoS(org.javades.jsimulation.r5.SimEventList eventList,
Class<P> qosClass,
P defaultJobQoS)
Creates a new
AbstractSimQueueQoS. |
| Modifier and Type | Method and Description |
|---|---|
P |
getDefaultJobQoS()
Gets the default QoS value used by this queue for jobs that have
null QoS value. |
P |
getQoS()
Returns
null, since the QoS value of a queue has no meaning. |
Class<? extends P> |
getQoSClass()
Overridden in order to restrict the return type.
|
protected void |
queueAccessVacationDropSubClass(double time,
J job)
Calls super method (in order to make implementation final).
|
protected void |
resetEntitySubClass()
Calls super method.
|
void |
setQoS(P qos)
Calls super method
SimQueueQoS (in order to make implementation final). |
void |
setQoSClass(Class<? extends P> qosClass)
Calls super method (in order to make implementation final).
|
arrive, autoRevoke, cancelDepartureEvent, cancelDepartureEvent, depart, departureFromEventList, drop, getAutoRevocationPolicy, getDepartureEvents, getDepartureEvents, getFirstJob, getFirstJobInServiceArea, getFirstJobInWaitingArea, getJobs, getJobsInServiceArea, getJobsInWaitingArea, getNumberOfJobs, getNumberOfJobsInServiceArea, getNumberOfJobsInWaitingArea, getServerAccessCredits, getServiceTimeForJob, hasJobs, hasJobsInServiceArea, hasJobsInWaitingArea, hasServerAcccessCredits, insertJobInQueueUponArrival, insertJobInQueueUponStart, isJob, isJobInServiceArea, isJobInWaitingArea, isQueueAccessVacation, registerStdOutSimQueueListener, removeJobFromQueueUponDeparture, removeJobFromQueueUponDrop, removeJobFromQueueUponRevokation, rescheduleAfterArrival, rescheduleAfterDeparture, rescheduleAfterDrop, rescheduleAfterRevokation, rescheduleAfterStart, rescheduleForNewServerAccessCredits, revoke, revoke, scheduleDepartureEvent, scheduleJobArrival, setAutoRevocationPolicy, setQueueAccessVacation, setServerAccessCredits, setServerAccessCreditsSubClass, start, takeServerAccessCredit, toStringDefault, 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, waitgetCopySimQueue, getJobsQoSMaparrive, getAutoRevocationPolicy, getJobs, getJobsInServiceArea, getJobsInWaitingArea, getNumberOfJobs, getNumberOfJobsInServiceArea, getNumberOfJobsInWaitingArea, getServerAccessCredits, isJob, isJobInServiceArea, isJobInWaitingArea, isQueueAccessVacation, isStartArmed, revoke, revoke, setAutoRevocationPolicy, setQueueAccessVacation, setServerAccessCreditsdoAfterNotifications, doOperation, getEventList, getLastUpdateTime, getRegisteredNotificationTypes, getRegisteredOperations, getSimEntityListeners, getUnknownNotificationTypePolicy, getUnknownOperationPolicy, isIgnoreEventListReset, registerSimEntityListener, resetEntity, setIgnoreEventListReset, setName, setUnknownNotificationTypePolicy, setUnknownOperationPolicy, toStringDefault, unregisterSimEntityListener, updateprotected AbstractSimQueueQoS(org.javades.jsimulation.r5.SimEventList eventList,
Class<P> qosClass,
P defaultJobQoS)
AbstractSimQueueQoS.eventList - The event list to use, non-null.qosClass - The Java class to use for QoS behavior, non-null.defaultJobQoS - The default QoS value to use for non-QoS jobs, non-null.IllegalArgumentException - If any of the arguments is null.protected final void queueAccessVacationDropSubClass(double time,
J job)
queueAccessVacationDropSubClass in class AbstractSimQueue<J extends SimJob,Q extends AbstractSimQueueQoS>time - The time the job was dropped, i.e., the current time.job - The dropped job.AbstractSimQueue.arrive(double, J),
AbstractSimQueue.setQueueAccessVacation(double, boolean)public final Class<? extends P> getQoSClass()
SimQueueOrJobQoS
If the SimEntity does not support QoS, null should be returned.
The default implementation returns null.
getQoSClass in interface SimQoS<J extends SimJob,Q extends AbstractSimQueueQoS>getQoSClass in interface SimQueueOrJobQoS<J extends SimJob,Q extends AbstractSimQueueQoS,P extends Comparable>null.public final void setQoSClass(Class<? extends P> qosClass)
setQoSClass in interface SimQueueOrJobQoS<J extends SimJob,Q extends AbstractSimQueueQoS,P extends Comparable>qosClass - The new Java class used for QoS behavior, may be null.public final P getQoS()
null, since the QoS value of a queue has no meaning.getQoS in interface SimQoS<J extends SimJob,Q extends AbstractSimQueueQoS>getQoS in interface SimQueueOrJobQoS<J extends SimJob,Q extends AbstractSimQueueQoS,P extends Comparable>null.public final void setQoS(P qos)
SimQueueQoS (in order to make implementation final).setQoS in interface SimQueueOrJobQoS<J extends SimJob,Q extends AbstractSimQueueQoS,P extends Comparable>qos - The new QoS value, may be null.public final P getDefaultJobQoS()
SimQueueQoSnull QoS value.getDefaultJobQoS in interface SimQueueQoS<J extends SimJob,Q extends AbstractSimQueueQoS,P extends Comparable>null QoS value.SimQoS.getQoS()protected void resetEntitySubClass()
resetEntitySubClass in class AbstractSimQueue<J extends SimJob,Q extends AbstractSimQueueQoS>SimEntity.resetEntity()Copyright © 2018. All rights reserved.