Class Queue
java.lang.Object
QueueNet.NodeSection
NodeSections.PipeSection
NodeSections.InputSection
NodeSections.Queue
Name: Queue
Description:
Date: 15/nov/2009 Time: 23.08.16
- Version:
- 3.0
- Author:
- Bertoli Marco [marco.bertoli@neptuny.com]
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class NodeSection
EXCEPTION_MEASURE_DOES_NOT_EXIST, EXCEPTION_PROPERTY_NOT_AVAILABLE, INPUT, jobsList, logger, MSG_NOT_PROCESSED, MSG_PROCESSED, NO_ADDRESS, OUTPUT, PROPERTY_ID_ARRIVING_JOBS, PROPERTY_ID_AVERAGE_UTILIZATION, PROPERTY_ID_DEPARTING_JOBS, PROPERTY_ID_RESIDENCE_TIME, PROPERTY_ID_RESIDENT_JOBS, PROPERTY_ID_UTILIZATION, SERVICE -
Constructor Summary
ConstructorsConstructorDescriptionQueue(Integer capacity, String[] dropStrategies, QueueGetStrategy getStrategy, QueuePutStrategy[] putStrategies) Queue(Integer capacity, String[] dropStrategies, QueueGetStrategy getStrategy, QueuePutStrategy[] putStrategies, Impatience[] impatienceStrategies) Queue(Integer capacity, String[] dropStrategies, QueueGetStrategy getStrategy, QueuePutStrategy[] putStrategies, TransitionMatrix[] enablingConditions, TransitionMatrix[] inhibitingConditions, TransitionMatrix[] resourceConditions) Queue(Integer capacity, String[] dropStrategies, ServiceStrategy[] retrialDistributions, QueueGetStrategy getStrategy, QueuePutStrategy[] putStrategies) Queue(Integer capacity, String[] dropStrategies, ServiceStrategy[] retrialDistributions, QueueGetStrategy getStrategy, QueuePutStrategy[] putStrategies, Impatience[] impatienceStrategies, Boolean workingAsTransition, TransitionMatrix[] enablingConditions, TransitionMatrix[] inhibitingConditions, TransitionMatrix[] resourceConditions) Creates a new instance of finite Queue. -
Method Summary
Modifier and TypeMethodDescriptionvoidintThis method returns the capacity of the station (queue+server).booleanTells whether the "redirecting queue" behaviour has been turned on.booleanprotected voidnodeLinked(NetNode node) This method should be overridden to implement a specific behaviour of the node section when the node section itself is linked to the owner node.voidpreloadJobs(int[] jobsPerClass) Preloads the specified numbers of jobs for each class.protected intprocess(NetMessage message) This method implements a generic finite/infinite queue.voidTurns off the "redirecting queue" behaviour.voidredirectionTurnON(BlockingRegion region) Turns on the "redirecting queue" behaviour.voidsetSoftDeadlines(double[] softDeadlines) Methods inherited from class InputSection
sendForward, sendForwardMethods inherited from class NodeSection
analyze, analyze, analyzeFCR, analyzeJoin, analyzeTransition, getClassCompatibilities, getDoubleSectionProperty, getDoubleSectionProperty, getIntSectionProperty, getIntSectionProperty, getJobClasses, getJobInfoList, getObject, getObject, getOwnerNode, getParameter, getParameter, getSectionID, getServerTypes, isEnabled, isEnabled, isMine, isMyOwnerNode, redirect, removeMessage, send, send, send, send, send, send, sendAckAfterDrop, sendMe, sendMe, updateVisitPath
-
Field Details
-
FINITE_DROP
- See Also:
-
FINITE_BLOCK
- See Also:
-
FINITE_WAITING
- See Also:
-
FINITE_RETRIAL
- See Also:
-
-
Constructor Details
-
Queue
public Queue(Integer capacity, String[] dropStrategies, QueueGetStrategy getStrategy, QueuePutStrategy[] putStrategies) -
Queue
public Queue(Integer capacity, String[] dropStrategies, ServiceStrategy[] retrialDistributions, QueueGetStrategy getStrategy, QueuePutStrategy[] putStrategies) -
Queue
public Queue(Integer capacity, String[] dropStrategies, QueueGetStrategy getStrategy, QueuePutStrategy[] putStrategies, Impatience[] impatienceStrategies) -
Queue
public Queue(Integer capacity, String[] dropStrategies, QueueGetStrategy getStrategy, QueuePutStrategy[] putStrategies, TransitionMatrix[] enablingConditions, TransitionMatrix[] inhibitingConditions, TransitionMatrix[] resourceConditions) -
Queue
public Queue(Integer capacity, String[] dropStrategies, ServiceStrategy[] retrialDistributions, QueueGetStrategy getStrategy, QueuePutStrategy[] putStrategies, Impatience[] impatienceStrategies, Boolean workingAsTransition, TransitionMatrix[] enablingConditions, TransitionMatrix[] inhibitingConditions, TransitionMatrix[] resourceConditions) Creates a new instance of finite Queue. This is the newest constructor that supports different drop strategies. Other constructors are left for compatibility.- Parameters:
capacity- Station capacity (-1 = infinite capacity).dropStrategies- Drop strategy per class: FINITE_DROP || FINITE_BLOCK || FINITE_WAITING || FINITE_RETRIAL.retrialDistributions- Retrial distribution per class.getStrategy- Queue get strategy.putStrategies- Queue put strategy per class.impatienceStrategies- Impatience strategy per class.
-
-
Method Details
-
isRedirectionON
public boolean isRedirectionON()Tells whether the "redirecting queue" behaviour has been turned on.- Returns:
- true, if the "redirecting queue" behaviour is on; false otherwise.
-
redirectionTurnON
Turns on the "redirecting queue" behaviour.- Parameters:
region- the blocking region to which the owner node of this queue belongs.
-
redirectionTurnOFF
public void redirectionTurnOFF()Turns off the "redirecting queue" behaviour. -
nodeLinked
Description copied from class:NodeSectionThis method should be overridden to implement a specific behaviour of the node section when the node section itself is linked to the owner node. This method should be used to set node section properties depending on the owner node ones.- Overrides:
nodeLinkedin classNodeSection- Parameters:
node- Owner node.- Throws:
NetException
-
preloadJobs
Preloads the specified numbers of jobs for each class.- Parameters:
jobsPerClass- the specified numbers of jobs for each class.- Throws:
NetException
-
process
This method implements a generic finite/infinite queue.- Specified by:
processin classNodeSection- Parameters:
message- message to be processed.- Returns:
- the resulting int
- Throws:
NetException
-
getStationCapacity
public int getStationCapacity()This method returns the capacity of the station (queue+server). -
analyzeFJ
- Overrides:
analyzeFJin classNodeSection- Throws:
NetException
-
isStationWorkingAsATransition
public boolean isStationWorkingAsATransition() -
setSoftDeadlines
public void setSoftDeadlines(double[] softDeadlines)
-