src/internet-stack/nsc-tcp-l4-protocol.cc
changeset 4669 8aaa5e83939e
parent 4472 e20a31541404
child 4740 34acfd7ad508
--- a/src/internet-stack/nsc-tcp-l4-protocol.cc	Tue Jul 07 16:18:55 2009 +0200
+++ b/src/internet-stack/nsc-tcp-l4-protocol.cc	Tue Jul 07 21:18:01 2009 +0200
@@ -164,16 +164,21 @@
 void
 NscTcpL4Protocol::NotifyNewAggregate ()
 { 
-  bool is_not_initialized = (m_node == 0);
-  Ptr<Node>node = this->GetObject<Node> ();
-  Ptr<Ipv4L3Protocol> ipv4 = this->GetObject<Ipv4L3Protocol> ();
-  if (is_not_initialized && node!= 0 && ipv4 != 0)
+  if (m_node == 0)
     {
-      this->SetNode (node);
-      ipv4->Insert (this);
-      Ptr<NscTcpSocketFactoryImpl> tcpFactory = CreateObject<NscTcpSocketFactoryImpl> ();
-      tcpFactory->SetTcp (this);
-      node->AggregateObject (tcpFactory);
+      Ptr<Node>node = this->GetObject<Node> ();
+      if (node != 0)
+        {
+          Ptr<Ipv4L3Protocol> ipv4 = this->GetObject<Ipv4L3Protocol> ();
+          if (ipv4 != 0)
+            {
+              this->SetNode (node);
+              ipv4->Insert (this);
+              Ptr<NscTcpSocketFactoryImpl> tcpFactory = CreateObject<NscTcpSocketFactoryImpl> ();
+              tcpFactory->SetTcp (this);
+              node->AggregateObject (tcpFactory);
+            }
+        }
     }
   Object::NotifyNewAggregate ();
 }