DJ - The delegate-job type.DQ - The queue-type for delegate jobs.J - The job type.Q - The queue type for jobs.public interface SimQueueComposite<DJ extends SimJob,DQ extends SimQueue,J extends SimJob,Q extends SimQueue> extends SimQueue<J,Q>
SimQueue that embeds a fixed set of other queues;
turning its job visits into visits to the embedded queues.
Also known as a queueing network.
Examples are tandem (serial) queues
and parallel queues, see Tandem and Par,
respectively.
A composite queue completely hides its internal structure, owns its sub-queues,
and uses (1:1) delegate jobs on its sub-queues to represent visiting jobs.
Jobs originating from other sources than the composite queue,
are not allowed to visit the sub-queues
(at the expense of an exception).
The "real" and delegate jobs may be of different type.
The use of delegate jobs is required
because a SimJob cannot visit multiple queues simultaneously (i.e., the composite queue and one of its sub-queues).
A SimQueueComposite has several degrees of freedom related to
the semantics of the waiting and service areas of a composite queue,
and to the notion of starting a job.
Copyright (C) 2005-2017 Jan de Jongh, TNO
This file is covered by the LICENSE file in the root of this project.
AbstractSimQueueComposite,
AbstractSimQueueComposite_LocalStartSimQueue.AutoRevocationPolicySimEntity.Action, SimEntity.UnknownNotificationTypePolicy, SimEntity.UnknownOperationPolicy| Modifier and Type | Method and Description |
|---|---|
DelegateSimJobFactory<? extends DJ,DQ,J,Q> |
getDelegateSimJobFactory()
Returns the factory to create delegate
SimJobs, non-null. |
Set<? extends DQ> |
getQueues()
Returns the set of queues embedded by this
SimQueueComposite. |
SimQueueSelector<J,DQ> |
getSimQueueSelector()
Returns the sub-queue selector for this
SimQueueComposite. |
void |
setDelegateSimJobFactory(DelegateSimJobFactory<? extends DJ,DQ,J,Q> delegateSimJobFactory)
Sets the factory to create delegate
SimJobs, non-null. |
arrive, getAutoRevocationPolicy, getCopySimQueue, 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, updatenotifyEventListResetgetQoS, getQoSClassSet<? extends DQ> getQueues()
SimQueueComposite.
The set should not be manipulated. Typically, implementations return an unmodifiable set.
Implementations must maintain deterministic ordering of the queues in the set!
null set of queues, each non-null.SimQueueSelector<J,DQ> getSimQueueSelector()
SimQueueComposite.DelegateSimJobFactory<? extends DJ,DQ,J,Q> getDelegateSimJobFactory()
SimJobs, non-null.SimJobs, non-null.void setDelegateSimJobFactory(DelegateSimJobFactory<? extends DJ,DQ,J,Q> delegateSimJobFactory)
SimJobs, non-null.delegateSimJobFactory - The new factory to create delegate SimJobs, non-null.IllegalArgumentException - If the argument is null or otherwise illegal.UnsupportedOperationException - If this composite queue does not allow setting the delegate-job factory.Copyright © 2018. All rights reserved.