--- 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 ();
}