@Deprecated public class NonInterruptibleTimer extends Timer
Timer actor,
except that if a NonInterruptibleTimer actor has not finished processing
the previous input, a new input has to be delayed for processing.
In other words, it can not be interrupted to respond new inputs. Instead,
the new inputs will be queued and processed in a first come first serve
(FCFS) fashion. This actor extends the Timer actor.
The key difference between the NonInterruptibleTimer actor and the Server actor is how the service time is specified. In the NonInterruptibleTimer actor, whenever an input arrives, the value of the input token specifies the service time. This actor will guarantee that much service time to be given to that input. In the Server actor, service times for inputs ar decided by the ServiceTime parameter, which may change any time during an execution. In particular, how much service time an input actually gets is decided the value of the ServiceTime parameter at the time the server is ready to serve that input.
Timer| Red (hyzheng) |
| Yellow (hyzheng) |
Entity.ContainedObjectsIterator_causalityInterface, _currentInput, _currentOutput, _delay, _delayedOutputTokens, valueinput, output_typesValid_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKSCOMPLETED, NOT_READY, STOP_ITERATING| Constructor and Description |
|---|
NonInterruptibleTimer(CompositeEntity container,
java.lang.String name)
Deprecated.
Construct an actor with the specified container and name.
|
| Modifier and Type | Method and Description |
|---|---|
void |
fire()
Deprecated.
Read one token from the input.
|
void |
initialize()
Deprecated.
Reset the states of the server to indicate that the timer is not
processing any inputs.
|
boolean |
postfire()
Deprecated.
If there are delayed inputs that are not processed and the timer
is not busy, begin processing the earliest input and schedule
a future firing to produce it.
|
clone, declareDelayDependency_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, attributeDeleted, attributeList, attributeList, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspaceequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcreateReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortListisFireFunctional, isStrict, iterate, prefire, stop, stopFire, terminateaddInitializable, preinitialize, removeInitializable, wrapupdescription, getContainer, getDisplayName, getFullName, getName, getName, setNamegetDerivedLevel, getDerivedList, propagateValuepublic NonInterruptibleTimer(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
container - The container.name - The name of this actor.IllegalActionException - If the entity cannot be contained
by the proposed container.NameDuplicationException - If the container already has an
actor with this name.public void fire()
throws IllegalActionException
fire in interface Executablefire in class TimerIllegalActionException - If the delay value is negative, or
this actor can not send tokens to ports, or this actor can not get
tokens from ports.public void initialize()
throws IllegalActionException
initialize in interface Initializableinitialize in class TimerIllegalActionException - If the base class throws it.public boolean postfire()
throws IllegalActionException
postfire in interface Executablepostfire in class TimerIllegalActionException - If there is no director or can not
schedule future firings to handle delayed input events.