X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnepi%2Fresources%2Fns3%2Fns3base.py;h=ef345ff104e113d6c0c0a612238c180271d64a70;hb=96ce55552a850e2fc155710a80c8453e0f201783;hp=f86bea779a349765c471ff9c335dd52c69fd6e3e;hpb=2d175bc378aa7ec034d24b6d3f04714fd9efab41;p=nepi.git diff --git a/src/nepi/resources/ns3/ns3base.py b/src/nepi/resources/ns3/ns3base.py index f86bea77..ef345ff1 100644 --- a/src/nepi/resources/ns3/ns3base.py +++ b/src/nepi/resources/ns3/ns3base.py @@ -32,6 +32,7 @@ class NS3Base(ResourceManager): self._uuid = None self._connected = set() self._trace_filename = dict() + self._node = None @property def connected(self): @@ -47,10 +48,12 @@ class NS3Base(ResourceManager): @property def node(self): - from nepi.resources.ns3.ns3node import NS3BaseNode - nodes = self.get_connected(NS3BaseNode.get_rtype()) - if nodes: return nodes[0] - return None + if not self._node: + from nepi.resources.ns3.ns3node import NS3BaseNode + nodes = self.get_connected(NS3BaseNode.get_rtype()) + if nodes: self._node = nodes[0] + + return self._node def trace(self, name, attr = TraceAttr.ALL, block = 512, offset = 0): filename = self._trace_filename.get(name) @@ -80,7 +83,7 @@ class NS3Base(ResourceManager): kwargs = dict() for attr in self._attrs.values(): - if not ( attr.has_flag(Flags.Construct) and attr.has_changed() ): + if not ( attr.has_flag(Flags.Construct) and attr.has_changed ): continue kwargs[attr.name] = attr._value