Removed manual ref/unref calls for Ptr<Node>

Raj Bhattacharjea 2007-05-09 14:50:14 -04:00
parent ecfcfa977d
commit de3b9c78f3
3 changed files with 5 additions and 18 deletions

View File

@ -184,11 +184,11 @@ int main (int argc, char *argv[])
ipv4->SetDefaultRoute (Ipv4Address ("10.1.3.1"), 1);
ipv4->Unref ();
n0->Unref ();
n1->Unref ();
n2->Unref ();
n3->Unref ();
n0 = 0;
n1 = 0;
n2 = 0;
n3 = 0;
// Configure tracing of all enqueue, dequeue, and NetDevice receive events
// Trace output will be sent to the simple-p2p.tr file
AsciiTrace asciitrace ("simple-p2p.tr");

View File

@ -39,7 +39,6 @@ Application::Application(Ptr<Node> n)
m_startVar(0), m_stopVar(0),
m_start(false), m_stop(false)
{
m_node->Ref ();
}
Application::Application(const Application& o)
@ -47,7 +46,6 @@ Application::Application(const Application& o)
m_start(false), m_stop(false)
{ // Copy constructor
m_node = o.m_node;
m_node->Ref ();
// Copy the start and stop random variables if they exist
if (o.m_startVar) m_startVar = o.m_startVar->Copy();
if (o.m_stopVar) m_stopVar = o.m_stopVar->Copy();
@ -65,7 +63,6 @@ Application::DoDispose (void)
{
if (m_node != 0)
{
m_node->Unref ();
m_node = 0;
}
if (m_start)
@ -87,10 +84,7 @@ Application::DoDispose (void)
Application& Application::operator=(const Application& rhs)
{
if (this == &rhs) return *this; // Self assignment
m_node->Unref ();
m_node = 0;
m_node = rhs.m_node;
m_node->Ref ();
delete m_startVar;
m_startVar = 0;
@ -149,12 +143,7 @@ void Application::Stop(const RandomVariable& stopVar)
// an application to a node.
void Application::SetNode(Ptr<Node> n)
{
if (m_node != 0)
{
m_node->Unref ();
}
m_node = n;
m_node->Ref ();
}
Ptr<Node> Application::PeekNode() const

View File

@ -40,12 +40,10 @@ NetDevice::NetDevice(Ptr<Node> node, const MacAddress& addr) :
m_isMulticast (false),
m_isPointToPoint (false)
{
m_node->Ref ();
}
NetDevice::~NetDevice ()
{
m_node->Unref ();
m_node = 0;
}