ptolemy.domains.de.lib
Class NonInterruptibleTimer
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.domains.de.kernel.DEActor
ptolemy.domains.de.lib.DETransformer
ptolemy.domains.de.lib.Timer
ptolemy.domains.de.lib.NonInterruptibleTimer
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, SequenceActor, TimedActor, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
Deprecated. Use ptolemy.actor.lib.ResettableTimer.
public class NonInterruptibleTimer
- extends Timer
A NonInterruptibleTimer actor works similar to the 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.
- Since:
- Ptolemy II 4.1
- Version:
- $Id: NonInterruptibleTimer.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Haiyang Zheng
- See Also:
Timer
,
Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Method Summary |
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. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, prefire, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, 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, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
_nextTimeFree
private Time _nextTimeFree
- Deprecated.
_delayedInputTokensList
private java.util.LinkedList _delayedInputTokensList
- Deprecated.
NonInterruptibleTimer
public NonInterruptibleTimer(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Deprecated.
- Construct an actor with the specified container and name.
- Parameters:
container
- The container.name
- The name of this actor.
- Throws:
IllegalActionException
- If the entity cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
fire
public void fire()
throws IllegalActionException
- Deprecated.
- Read one token from the input. Send out a token that is scheduled
to produce at the current time to the output.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class Timer
- Throws:
IllegalActionException
- If the delay value is negative, or
this actor can not send tokens to ports, or this actor can not get
tokens from ports.
initialize
public void initialize()
throws IllegalActionException
- Deprecated.
- Reset the states of the server to indicate that the timer is not
processing any inputs.
- Specified by:
initialize
in interface Initializable
- Overrides:
initialize
in class Timer
- Throws:
IllegalActionException
- If the base class throws it.
postfire
public boolean postfire()
throws IllegalActionException
- 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.
- Specified by:
postfire
in interface Executable
- Overrides:
postfire
in class Timer
- Returns:
- True if execution can continue into the next iteration.
- Throws:
IllegalActionException
- If there is no director or can not
schedule future firings to handle delayed input events.