public class ProxySink extends ProxyActor
Entity.ContainedObjectsIterator
REPLACE_CONNECTING_ENTITIES, REPLACE_TARGET_ENTITY
_typesValid
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
COMPLETED, NOT_READY, STOP_ITERATING
Constructor and Description |
---|
ProxySink(CompositeEntity container,
ComponentEntity targetSink,
boolean replaceTargetEntity,
java.util.HashMap<java.lang.String,java.lang.String> portTypes)
Replace the targetSink with the ProxySink instance.
|
ProxySink(CompositeEntity container,
java.lang.String name)
Create a new instance of the ProxySource without doing any actor replacement.
|
Modifier and Type | Method and Description |
---|---|
void |
fire()
Read tokens from all ports, package them as one CommunicationToken and send
it via tokenPublisher.
|
TokenPublisher |
getTokenPublisher()
Return TokenPublisher that would be used to publish
CommunicationTokens produced by this actor on fire.
|
boolean |
prefire()
Check if tokens are available on all ports.
|
void |
setProxyModelInfrastructure(ProxyModelInfrastructure proxyModelInfrastructure)
Set the ProxyModelInfrastructure instance controlling distributed model
execution.
|
void |
setTokenPublisher(TokenPublisher tokenPublisher)
Set the token publisher that would be used to send
communication tokens.
|
void |
throttle(boolean force)
Throttle the sink's thread if the latency is above maximum threshold.
|
getTargetEntityName, setTargetEntityName
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, 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, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
isFireFunctional, isStrict, iterate, postfire, stop, stopFire, terminate
addInitializable, initialize, preinitialize, removeInitializable, wrapup
description, getContainer, getDisplayName, getFullName, getName, getName, setName
getDerivedLevel, getDerivedList, propagateValue
public ProxySink(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container of the actor.name
- The name of this actor within the container.IllegalActionException
- If this actor cannot be contained
by the proposed container (see the setContainer() method).NameDuplicationException
- If the name coincides with
an entity already in the container.public ProxySink(CompositeEntity container, ComponentEntity targetSink, boolean replaceTargetEntity, java.util.HashMap<java.lang.String,java.lang.String> portTypes) throws IllegalActionException, NameDuplicationException, java.lang.CloneNotSupportedException
container
- The container of the actor.targetSink
- The target sink to be processed.replaceTargetEntity
- if true replace the target entity with the proxy,
otherwise replace all entities connecting to it with one proxy.portTypes
- Map of ports and their resolved types.IllegalActionException
- If the actor cannot be contained
by the proposed container.NameDuplicationException
- If the container already has an
actor with this name.java.lang.CloneNotSupportedException
- If port cloning is not supportedProxyActor
public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class AtomicActor<TypedIOPort>
IllegalActionException
- If parameters.getToken(), or
port.get() throw itTokenPublisher
public void throttle(boolean force)
force
- if force throttling even if the latency is within bounds.public TokenPublisher getTokenPublisher()
setTokenPublisher(TokenPublisher)
public boolean prefire() throws IllegalActionException
prefire
in interface Executable
prefire
in class AtomicActor<TypedIOPort>
IllegalActionException
- Not thrown in this base class.public void setTokenPublisher(TokenPublisher tokenPublisher)
tokenPublisher
- the token publisher to be used for sending tokens.getTokenPublisher()
public void setProxyModelInfrastructure(ProxyModelInfrastructure proxyModelInfrastructure)
proxyModelInfrastructure
- the the ProxyModelInfrastructure instance controlling distributed model
execution.