public class SimQueuePredictor_EncTL extends AbstractSimQueuePredictor_Composite_Enc<EncTL> implements SimQueuePredictor<EncTL>
SimQueuePredictor for EncTL.Copyright (C) 2005-2017 Jan de Jongh, TNO
This file is covered by the LICENSE file in the root of this project.
AbstractSimQueuePredictor_Composite.SubQueueSimpleEventsubQueuePredictorsubQueuePredictors| Constructor and Description |
|---|
SimQueuePredictor_EncTL(AbstractSimQueuePredictor encQueuePredictor) |
| Modifier and Type | Method and Description |
|---|---|
void |
doQueueEvents_SQ_SV_ROEL_U(EncTL queue,
SimQueueState<SimJob,EncTL> queueState,
Set<SimEntitySimpleEventType.Member> queueEventTypes,
Set<JobQueueVisitLog<SimJob,EncTL>> visitLogsSet)
Process the next event(s) at a queue with given state.
|
void |
doWorkloadEvents_SQ_SV_ROEL_U(EncTL queue,
WorkloadSchedule_SQ_SV_ROEL_U workloadSchedule,
SimQueueState<SimJob,EncTL> queueState,
Set<SimEntitySimpleEventType.Member> workloadEventTypes,
Set<JobQueueVisitLog<SimJob,EncTL>> visitLogsSet)
Process the next event(s) from given
WorkloadSchedule at a queue with given state. |
double |
getNextQueueEventTimeBeyond(EncTL queue,
SimQueueState<SimJob,EncTL> queueState,
Set<SimEntitySimpleEventType.Member> queueEventTypes)
Returns the time and types of the next event(s)
scheduled strictly beyond the time at (the state object of) a specific queue.
|
boolean |
hasServerAccessCredits(EncTL queue,
SimQueueState<SimJob,EncTL> queueState)
Checks whether a given state represents a queue-state with server-access credits available.
|
boolean |
isStartArmed(EncTL queue,
SimQueueState<SimJob,EncTL> queueState)
Checks whether a given state represents
StartArmed on given queue. |
String |
toString() |
checkSubQueueVisitLogsSet, createQueueState, departJobs, dropJobs, revokeJobs, startJobs, updateToTimeis_ROEL_U_UnderWorkloadQueueEventClashes, is_U_UnderWorkloadQueueEventClashes, predict_SQ_SV_IOEL_U, predict_SQ_SV_ROEL_Uclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitmatchVisitLogs_SQ_SV, predict_SQ_SV_IOEL_U, predict_SQ_SV_ROEL_UcreateQueueState, createWorkloadSchedule_SQ_SV_ROEL_U, createWorkloadSchedule_SQ_SV, doWorkloadEvents_SQ_SV, updateToTimeisQueueAccessVacationpublic SimQueuePredictor_EncTL(AbstractSimQueuePredictor encQueuePredictor)
public boolean hasServerAccessCredits(EncTL queue, SimQueueState<SimJob,EncTL> queueState)
SimQueueStatePredictor
The default implementation returns queueState.getServerAccessCredits () > 0.
hasServerAccessCredits in interface SimQueueStatePredictor<EncTL>queue - The queue.queueState - The queue state, non-null.public boolean isStartArmed(EncTL queue, SimQueueState<SimJob,EncTL> queueState)
SimQueueStatePredictorStartArmed on given queue.isStartArmed in interface SimQueueStatePredictor<EncTL>queue - The queue.queueState - The queue state, non-null.StartArmed at given queue.public double getNextQueueEventTimeBeyond(EncTL queue, SimQueueState<SimJob,EncTL> queueState, Set<SimEntitySimpleEventType.Member> queueEventTypes) throws SimQueuePredictionException
SimQueueEventPredictor
The time from which to search must be taken from SimQueueState.getTime(),
and equals Double.NaN after initialization.
getNextQueueEventTimeBeyond in interface SimQueueEventPredictor<EncTL>getNextQueueEventTimeBeyond in class AbstractSimQueuePredictor_Composite_Enc<EncTL>queue - The queue, non-null.queueState - The queue-state, non-null.queueEventTypes - A non-null set to store the (possible multiple) event types; it must be cleared upon entry.Double.NaN if no such event exists.SimQueuePredictionException - If the result cannot be computed, e.g., due to invalid input or schedule ambiguities.SimJQSimpleEventType.START,
SimJQSimpleEventType.DEPARTUREpublic void doWorkloadEvents_SQ_SV_ROEL_U(EncTL queue, WorkloadSchedule_SQ_SV_ROEL_U workloadSchedule, SimQueueState<SimJob,EncTL> queueState, Set<SimEntitySimpleEventType.Member> workloadEventTypes, Set<JobQueueVisitLog<SimJob,EncTL>> visitLogsSet) throws SimQueuePredictionException, WorkloadScheduleException
SimQueueEventPredictorWorkloadSchedule at a queue with given state.
The scheduled time and the types of the next events must be known beforehand,
e.g., through WorkloadSchedule.getNextEventTimeBeyond(org.javades.jqueues.r5.entity.jq.queue.SimQueue, double, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>).
The scheduled time has already been set on the SimQueueState object,
and the object has been updated upto that time.
The time on the queue state must not be changed.
Implementations must update the queue state and (if applicable) add suitable entries to the visit logs.
Implementations must not modify the workload schedule.
doWorkloadEvents_SQ_SV_ROEL_U in interface SimQueueEventPredictor<EncTL>doWorkloadEvents_SQ_SV_ROEL_U in class AbstractSimQueuePredictor_Composite_Enc<EncTL>queue - The queue, non-null.workloadSchedule - The workload schedule, non-null.queueState - The queue-state, non-null.workloadEventTypes - The (pre-calculated) types of the next workload event(s).visitLogsSet - The visit logs, non-null.SimQueuePredictionException - If the result cannot be computed, e.g., due to invalid input or schedule ambiguities.WorkloadScheduleException - If the workload is invalid (e.g., containing ambiguities).WorkloadSchedule.getNextEventTimeBeyond(org.javades.jqueues.r5.entity.jq.queue.SimQueue, double, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>),
SimQueueEventPredictor.updateToTime(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState, double),
SimQueueState.setTime(double)public void doQueueEvents_SQ_SV_ROEL_U(EncTL queue, SimQueueState<SimJob,EncTL> queueState, Set<SimEntitySimpleEventType.Member> queueEventTypes, Set<JobQueueVisitLog<SimJob,EncTL>> visitLogsSet) throws SimQueuePredictionException
SimQueueEventPredictor
The scheduled time and the types of the next events must be known beforehand,
e.g., through SimQueueEventPredictor.getNextQueueEventTimeBeyond(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>).
The scheduled time has already been set on the SimQueueState object,
and the object has been updated upto that time.
The time on the queue state must not be changed.
Implementations must update the queue state and (if applicable) add suitable entries to the visit logs.
doQueueEvents_SQ_SV_ROEL_U in interface SimQueueEventPredictor<EncTL>doQueueEvents_SQ_SV_ROEL_U in class AbstractSimQueuePredictor_Composite_Enc<EncTL>queue - The queue, non-null.queueState - The queue-state, non-nullqueueEventTypes - The (pre-calculated) types of the next workload event(s).visitLogsSet - The visit logs, non-null.SimQueuePredictionException - If the result cannot be computed, e.g., due to invalid input or schedule ambiguities.SimQueueEventPredictor.getNextQueueEventTimeBeyond(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState<org.javades.jqueues.r5.entity.jq.job.SimJob, Q>, java.util.Set<org.javades.jqueues.r5.entity.SimEntitySimpleEventType.Member>),
SimQueueEventPredictor.updateToTime(Q, org.javades.jqueues.r5.util.predictor.state.SimQueueState, double),
SimQueueState.setTime(double)Copyright © 2018. All rights reserved.