convert Arp code to use Ptr<Node> instead of Node *

Mathieu Lacage 2007-05-10 07:33:26 +02:00
parent c12d5a1142
commit b67d398976
2 changed files with 7 additions and 14 deletions

View File

@ -36,17 +36,13 @@ namespace ns3 {
const uint16_t Arp::PROT_NUMBER = 0x0806;
Arp::Arp (Node *node)
Arp::Arp (Ptr<Node> node)
: L3Protocol (PROT_NUMBER, 0/* XXX: correct version number ? */ ),
m_node (node)
{
m_node->Ref ();
}
{}
Arp::~Arp ()
{
Dispose ();
}
{}
void
Arp::DoDispose (void)
@ -56,11 +52,7 @@ Arp::DoDispose (void)
delete *i;
}
m_cacheList.clear ();
if (m_node != 0)
{
m_node->Unref ();
m_node = 0;
}
L3Protocol::DoDispose ();
}

View File

@ -24,6 +24,7 @@
#include <list>
#include "ns3/ipv4-address.h"
#include "ns3/mac-address.h"
#include "ns3/ptr.h"
#include "l3-protocol.h"
namespace ns3 {
@ -40,7 +41,7 @@ class Arp : public L3Protocol
public:
static const uint16_t PROT_NUMBER;
Arp (Node *node);
Arp (Ptr<Node> node);
~Arp ();
virtual TraceResolver *CreateTraceResolver (TraceContext const &context);
@ -57,7 +58,7 @@ private:
void SendArpRequest (ArpCache const *cache, Ipv4Address to);
void SendArpReply (ArpCache const *cache, Ipv4Address toIp, MacAddress toMac);
CacheList m_cacheList;
Node *m_node;
Ptr<Node> m_node;
};
}//namespace ns3