J - The job type.DQ - The queue-type for delegate jobs.public class ParallelSimQueuesSelector<J extends SimJob,DQ extends SimQueue> extends Object implements SimQueueSelector<J,DQ>
SimQueueSelector for parallel queues.
With parallel queues, a (delegate) job visits no more than one sub-queue and then leaves.
This selector embeds the user-supplied selector for parallel queues, and makes sure that a (delegate) job leaves the queueing system after one (zero) visit.
Copyright (C) 2005-2017 Jan de Jongh, TNO
This file is covered by the LICENSE file in the root of this project.
| Constructor and Description |
|---|
ParallelSimQueuesSelector(SimQueueSelector<J,DQ> userSimQueueSelector)
Creates a
SimQueueSelector for parallel queues. |
| Modifier and Type | Method and Description |
|---|---|
void |
resetSimQueueSelector()
Resets this selector.
|
DQ |
selectFirstQueue(double time,
J job)
Returns the result from the user selector if present,
null otherwise. |
DQ |
selectNextQueue(double time,
J job,
DQ previousQueue)
Returns
null. |
public ParallelSimQueuesSelector(SimQueueSelector<J,DQ> userSimQueueSelector)
SimQueueSelector for parallel queues.userSimQueueSelector - The user-supplied SimQueueSelector, may be null,
in which case a visiting jobs leaves upon arrival.public void resetSimQueueSelector()
SimQueueSelectorresetSimQueueSelector in interface SimQueueSelector<J extends SimJob,DQ extends SimQueue>public final DQ selectFirstQueue(double time, J job)
null otherwise.selectFirstQueue in interface SimQueueSelector<J extends SimJob,DQ extends SimQueue>time - The time of arrival of the job.job - The job, non-null.null otherwise.public final DQ selectNextQueue(double time, J job, DQ previousQueue)
null.selectNextQueue in interface SimQueueSelector<J extends SimJob,DQ extends SimQueue>time - The current time, i.e., the departure time of the job at its previous queue.job - The job, non-null.previousQueue - The previous queue the job visited, and just departed from.null.IllegalStateException - If the previous queue argument is null.Copyright © 2018. All rights reserved.