#include <InPort.hxx>
Public Member Functions | |
virtual InPort * | getPublicRepresentant () |
virtual int | edGetNumberOfLinks () const |
Returns number of physical backlinks NOT number of user backlinks. More... | |
virtual std::set< OutPort * > | edSetOutPort () const |
Returns physical backlinks NOT user backlinks. More... | |
bool | canSafelySqueezeMemory () const |
bool | isBackLinked () const |
virtual | ~InPort () |
virtual std::string | typeName () |
Public Member Functions inherited from YACS::ENGINE::DataPort | |
TypeCode * | edGetType () const |
void | edSetType (TypeCode *type) |
std::string | getName () const |
void | setName (std::string theName) |
std::string | getNameOfTypeOfCurrentInstance () const |
virtual TypeOfChannel | getTypeOfChannel () const =0 |
returns type of channel the port will use for data exchange on runtime : DATAFLOW or DATASTREAM. More... | |
bool | isDifferentTypeOf (const DataPort *other) const |
virtual std::string | getAsString () |
returns port value as a string that can be used in a GUI for example More... | |
Public Member Functions inherited from YACS::ENGINE::Port | |
virtual | ~Port () |
Node * | getNode () const |
int | getNumId () const |
void | modified () |
Protected Member Functions | |
InPort (const InPort &other, Node *newHelder) | |
InPort (const std::string &name, Node *node, TypeCode *type) | |
void | edRemoveAllLinksLinkedWithMe () |
virtual void | edNotifyReferencedBy (OutPort *fromPort, bool isLoopProof=true) |
virtual void | edNotifyDereferencedBy (OutPort *fromPort) |
virtual void | getAllRepresentants (std::set< InPort * > &repr) const |
Protected Member Functions inherited from YACS::ENGINE::DataPort | |
virtual | ~DataPort () |
DataPort (const DataPort &other, Node *newHelder) | |
DataPort (const std::string &name, Node *node, TypeCode *type) | |
Protected Member Functions inherited from YACS::ENGINE::Port | |
Port (Node *node) | |
Port (const Port &other, Node *newHelder) | |
Protected Attributes | |
std::set< std::pair< OutPort *, bool > > | _backLinks |
Protected Attributes inherited from YACS::ENGINE::DataPort | |
TypeCode * | _type |
std::string | _name |
Protected Attributes inherited from YACS::ENGINE::Port | |
Node * | _node |
int | _id |
Friends | |
class | Loop |
class | OutPort |
class | ProxyPort |
class | OutputPort |
class | DynParaLoop |
class | ForEachLoop |
class | SplitterNode |
class | ComposedNode |
class | OptimizerLoop |
class | NbBranches |
class | ElementaryNode |
class | CollectorSwOutPort |
class | OutputDataStreamPort |
class | InterceptorInputPort |
Additional Inherited Members | |
Static Public Member Functions inherited from YACS::ENGINE::DataPort | |
static DataPort * | isCrossingType (const std::vector< DataPort * > &historyOfLink) |
Static Public Attributes inherited from YACS::ENGINE::DataPort | |
static const char | NAME [] ="DataPort" |
Static Protected Attributes inherited from YACS::ENGINE::Port | |
static int | _total = 0 |
static const char | NAME [] ="Port" |
Definition at line 46 of file InPort.hxx.
|
virtual |
Definition at line 40 of file InPort.cxx.
Definition at line 30 of file InPort.cxx.
Definition at line 35 of file InPort.cxx.
bool InPort::canSafelySqueezeMemory | ( | ) | const |
Definition at line 73 of file InPort.cxx.
References _backLinks, and isBackLinked().
Referenced by YACS::ENGINE::ForEachLoopGen::exUpdateState(), YACS::ENGINE::PythonNode::squeezeMemory(), and YACS::ENGINE::PythonNode::squeezeMemoryRemote().
|
virtual |
Returns number of physical backlinks NOT number of user backlinks.
Reimplemented in YACS::ENGINE::ProxyPort.
Definition at line 45 of file InPort.cxx.
References _backLinks.
Referenced by YACS::ENGINE::ProxyPort::edGetNumberOfLinks(), YACS::ENGINE::NbBranches::isMultiplicitySpecified(), YACS::HMI::SchemaInPortItem::SchemaInPortItem(), YACS::ENGINE::OptimizerLoop::setAlgorithm(), YACS::ENGINE::InputCalStreamPort::setDepend(), and YACS::HMI::SchemaInPortItem::update().
|
protectedvirtual |
Reimplemented in YACS::ENGINE::ProxyPort, and YACS::ENGINE::ConditionInputPort.
Definition at line 102 of file InPort.cxx.
References _backLinks, YACS::ENGINE::Port::modified(), and p.
Referenced by YACS::ENGINE::ConditionInputPort::edNotifyDereferencedBy(), YACS::ENGINE::ProxyPort::edNotifyDereferencedBy(), and YACS::ENGINE::ComposedNode::edRemoveLink().
|
protectedvirtual |
[in] | isLoopProof | - Tells if the data coming from fromPort will be send again in case of this is initialized. This value is important if this is an InPort of a Node contained directly or not inside a Loop, ForEachLoop, OptimizerLoop. In this case, to optimize memory consumption (see squeezeMemory method), we need to know if data coming from fromPort will be generated again in case. If true (the default) it means that for that link is a link loop proof so no need to take care. If false, the link is not loop proof so event in the context of agressive memory management the data can't be safely released. |
Reimplemented in YACS::ENGINE::ProxyPort, and YACS::ENGINE::ConditionInputPort.
Definition at line 93 of file InPort.cxx.
References _backLinks, YACS::ENGINE::Port::modified(), and p.
Referenced by YACS::ENGINE::ComposedNode::edAddLink(), YACS::ENGINE::ConditionInputPort::edNotifyReferencedBy(), YACS::ENGINE::ProxyPort::edNotifyReferencedBy(), YACS::ENGINE::DynParaLoop::prepareInputsFromOutOfScope(), and YACS::ENGINE::DynParaLoop::putValueOnBranch().
|
protectedvirtual |
Implements YACS::ENGINE::DataPort.
Reimplemented in YACS::ENGINE::ProxyPort.
Definition at line 50 of file InPort.cxx.
References _backLinks, YACS::ENGINE::Port::_node, YACS::ENGINE::ComposedNode::edRemoveLink(), YACS::ENGINE::Node::getRootNode(), and YACS::ENGINE::Port::modified().
Referenced by YACS::ENGINE::ProxyPort::edRemoveAllLinksLinkedWithMe(), and YACS::ENGINE::NbBranches::forceMultiplicity().
|
virtual |
Returns physical backlinks NOT user backlinks.
Reimplemented in YACS::ENGINE::ProxyPort.
Definition at line 65 of file InPort.cxx.
References _backLinks.
Referenced by YACS::ENGINE::ProxyPort::edSetOutPort(), YACS::ENGINE::ElementaryNode::ensureLoading(), YACS::ENGINE::Switch::getAllInPortsComingFromOutsideOfCurrentScope(), YACS::ENGINE::OutputPort4DS2DF::getAllRepresented(), YACS::ENGINE::OptimizerLoop::initInterceptors(), and YACS::ENGINE::OptimizerLoop::OptimizerLoop().
|
protectedvirtual |
Reimplemented in YACS::ENGINE::InputDataStreamPort4DS2DF, YACS::ENGINE::InputPort4DF2DS, YACS::ENGINE::ProxyPort, and YACS::ENGINE::InterceptorInputPort.
Definition at line 110 of file InPort.cxx.
Referenced by YACS::ENGINE::OutputDataStreamPort::edRemoveInputDataStreamPort(), YACS::ENGINE::OutputPort::edRemoveInputPort(), YACS::ENGINE::ProxyPort::getAllRepresentants(), YACS::ENGINE::OutputPort::isAlreadyLinkedWith(), and YACS::ENGINE::CollectorSwOutPort::isAlreadyLinkedWith().
|
inlinevirtual |
Reimplemented in YACS::ENGINE::ProxyPort, YACS::ENGINE::InputPort, and YACS::ENGINE::InPropertyPort.
Definition at line 63 of file InPort.hxx.
Referenced by YACS::ENGINE::OutputPort::isAlreadyLinkedWith().
|
inline |
|
inlinevirtual |
Reimplemented from YACS::ENGINE::DataPort.
Reimplemented in YACS::ENGINE::InputStudyPort, YACS::ENGINE::InputPyPort, YACS::ENGINE::InputPresetPort, YACS::ENGINE::InputCorbaPort, YACS::ENGINE::ProxyPort, YACS::ENGINE::InputPort, YACS::ENGINE::InputDataStreamPort, YACS::ENGINE::InPropertyPort, YACS::ENGINE::ConditionInputPort, and YACS::ENGINE::AnyInputPort.
Definition at line 69 of file InPort.hxx.
|
friend |
Definition at line 59 of file InPort.hxx.
|
friend |
Definition at line 55 of file InPort.hxx.
|
friend |
Definition at line 52 of file InPort.hxx.
|
friend |
Definition at line 58 of file InPort.hxx.
|
friend |
Definition at line 53 of file InPort.hxx.
|
friend |
Definition at line 61 of file InPort.hxx.
Referenced by YACS::ENGINE::InterceptorInputPort::clone().
|
friend |
Definition at line 48 of file InPort.hxx.
|
friend |
Definition at line 57 of file InPort.hxx.
|
friend |
Definition at line 56 of file InPort.hxx.
|
friend |
Definition at line 49 of file InPort.hxx.
|
friend |
Definition at line 60 of file InPort.hxx.
|
friend |
Definition at line 51 of file InPort.hxx.
|
friend |
Definition at line 50 of file InPort.hxx.
|
friend |
Definition at line 54 of file InPort.hxx.
|
protected |
Definition at line 78 of file InPort.hxx.
Referenced by canSafelySqueezeMemory(), YACS::ENGINE::InputPort::checkBasicConsistency(), edGetNumberOfLinks(), YACS::ENGINE::InputPort::edIsInitialized(), edNotifyDereferencedBy(), edNotifyReferencedBy(), edRemoveAllLinksLinkedWithMe(), edSetOutPort(), and YACS::ENGINE::ElementaryNode::getReadyTasks().