ptolemy.domains.csp.lib
Class CSPBuffer
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.domains.csp.kernel.CSPActor
ptolemy.domains.csp.lib.CSPBuffer
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, BranchActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class CSPBuffer
- extends CSPActor
A single channel buffer. This actor is the canonical example of how
to use a CDO construct. It is parameterized by the Parameter "depth",
which controls how many Tokens can be stored in this buffer.
The default depth of the buffer is 1. The buffer depth is set upon
calling the fire method. The fire() method does not return until a
TerminateProcessException is thrown.
- Since:
- Ptolemy II 0.2
- Version:
- $Id: CSPBuffer.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Neil Smyth
- See Also:
- 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 |
Constructor Summary |
CSPBuffer()
Deprecated. Use ptolemy.domains.csp.lib.Buffer instead. |
CSPBuffer(TypedCompositeActor container,
java.lang.String name)
Construct a CSPBuffer in the specified container with the
specified name. |
CSPBuffer(TypedCompositeActor container,
java.lang.String name,
int theDepth)
Construct a CSPBuffer in the specified container with the
specified name. |
Method Summary |
void |
fire()
Executes the code in this actor. |
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, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, 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 |
input
public TypedIOPort input
- The input port for this actor.
output
public TypedIOPort output
- The output port for this actor.
depth
public Parameter depth
- The Parameter storing the depth of the buffer.
_buffer
private Token[] _buffer
_size
private int _size
_writeTo
private int _writeTo
_readFrom
private int _readFrom
CSPBuffer
public CSPBuffer()
throws IllegalActionException,
NameDuplicationException
- Deprecated. Use ptolemy.domains.csp.lib.Buffer instead.
- Construct a CSPBuffer in the default workspace with an empty
string as its name. The actor is parameterized by its depth,
which must be an integer. The default depth of the buffer is
one. The actor is created with a single input port and a single
output port, both of width one. The input port is called "input",
and similarly, the output port is called "output". The object is
added to the workspace directory. Increment the version number of
the workspace.
- Throws:
IllegalActionException
- If the port or parameter
cannot be contained by this actor.
NameDuplicationException
- If the port name coincides
with a port already in this actor, or if the parameter name
coincides with a parameter already in this actor.
CSPBuffer
public CSPBuffer(TypedCompositeActor container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
- Construct a CSPBuffer in the specified container with the
specified name. The name must be unique within the container
or an exception is thrown. The container argument must not be
null, or a NullPointerException will be thrown. The actor is
parameterized by its depth, which must be an integer. The default
depth of the buffer is one. The actor is created with a single
input port and a single output port, both of width one. The input
port is called "input", and similarly, the output port is called
"output".
- Parameters:
container
- The TypedCompositeActor that contains this
actor.name
- The actor's name.
- Throws:
IllegalActionException
- If the entity cannot be
contained by the proposed container.
NameDuplicationException
- If the name argument
coincides with an entity already in the container.
CSPBuffer
public CSPBuffer(TypedCompositeActor container,
java.lang.String name,
int theDepth)
throws IllegalActionException,
NameDuplicationException
- Construct a CSPBuffer in the specified container with the
specified name. The name must be unique within the container
or an exception is thrown. The container argument must not be
null, or a NullPointerException will be thrown. The actor is
parameterized by its depth, which must be an integer. The buffer
depth is assigned to the value passed in. The actor is created
with a single input port and a single output port, both of width
one. The input port is called "input", and similarly, the output
port is called "output".
- Parameters:
container
- The TypedCompositeActor that contains this actor.name
- The actor's name.theDepth
- The depth of this buffer.
- Throws:
IllegalActionException
- If the entity cannot be contained
by the proposed container.
NameDuplicationException
- If the name argument coincides
with an entity already in the container.
fire
public void fire()
throws IllegalActionException
- Executes the code in this actor. This actor uses a CDO
construct so that it is always able to receive or send a
token, depending on the state of the buffer. It is the
canonical example of using a CDO. This process continues
executing until a TerminateProcessException is thrown.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If an error occurs during
executing the process.