diff --git a/src/internet-node/ipv4-l4-demux.cc b/src/internet-node/ipv4-l4-demux.cc index 3547e239f..2a026de36 100644 --- a/src/internet-node/ipv4-l4-demux.cc +++ b/src/internet-node/ipv4-l4-demux.cc @@ -32,12 +32,10 @@ namespace ns3 { const Iid Ipv4L4Demux::iid ("Ipv4L4Demux"); -Ipv4L4Demux::Ipv4L4Demux (Node *node) +Ipv4L4Demux::Ipv4L4Demux (Ptr node) : NsUnknown (Ipv4L4Demux::iid), m_node (node) -{ - m_node->Ref (); -} +{} Ipv4L4Demux::~Ipv4L4Demux() {} @@ -51,11 +49,7 @@ Ipv4L4Demux::DoDispose (void) (*i)->Unref (); } m_protocols.clear (); - if (m_node != 0) - { - m_node->Unref (); - m_node = 0; - } + m_node = 0; NsUnknown::DoDispose (); } diff --git a/src/internet-node/ipv4-l4-demux.h b/src/internet-node/ipv4-l4-demux.h index 3e70ad9d7..d52ce34b9 100644 --- a/src/internet-node/ipv4-l4-demux.h +++ b/src/internet-node/ipv4-l4-demux.h @@ -27,6 +27,7 @@ #include #include "ns3/ns-unknown.h" +#include "ns3/ptr.h" namespace ns3 { @@ -43,7 +44,7 @@ class Ipv4L4Demux : public NsUnknown public: static const Iid iid; typedef int Ipv4L4ProtocolTraceType; - Ipv4L4Demux (Node *node); + Ipv4L4Demux (Ptr node); virtual ~Ipv4L4Demux(); /** @@ -86,7 +87,7 @@ private: virtual void DoDispose (void); typedef std::list L4List_t; L4List_t m_protocols; - Node *m_node; + Ptr m_node; }; } //namespace ns3