convert Arp code to use Ptr<Node> instead of Node *
parent
c12d5a1142
commit
b67d398976
|
@ -36,17 +36,13 @@ namespace ns3 {
|
||||||
|
|
||||||
const uint16_t Arp::PROT_NUMBER = 0x0806;
|
const uint16_t Arp::PROT_NUMBER = 0x0806;
|
||||||
|
|
||||||
Arp::Arp (Node *node)
|
Arp::Arp (Ptr<Node> node)
|
||||||
: L3Protocol (PROT_NUMBER, 0/* XXX: correct version number ? */ ),
|
: L3Protocol (PROT_NUMBER, 0/* XXX: correct version number ? */ ),
|
||||||
m_node (node)
|
m_node (node)
|
||||||
{
|
{}
|
||||||
m_node->Ref ();
|
|
||||||
}
|
|
||||||
|
|
||||||
Arp::~Arp ()
|
Arp::~Arp ()
|
||||||
{
|
{}
|
||||||
Dispose ();
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Arp::DoDispose (void)
|
Arp::DoDispose (void)
|
||||||
|
@ -56,11 +52,7 @@ Arp::DoDispose (void)
|
||||||
delete *i;
|
delete *i;
|
||||||
}
|
}
|
||||||
m_cacheList.clear ();
|
m_cacheList.clear ();
|
||||||
if (m_node != 0)
|
m_node = 0;
|
||||||
{
|
|
||||||
m_node->Unref ();
|
|
||||||
m_node = 0;
|
|
||||||
}
|
|
||||||
L3Protocol::DoDispose ();
|
L3Protocol::DoDispose ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include <list>
|
#include <list>
|
||||||
#include "ns3/ipv4-address.h"
|
#include "ns3/ipv4-address.h"
|
||||||
#include "ns3/mac-address.h"
|
#include "ns3/mac-address.h"
|
||||||
|
#include "ns3/ptr.h"
|
||||||
#include "l3-protocol.h"
|
#include "l3-protocol.h"
|
||||||
|
|
||||||
namespace ns3 {
|
namespace ns3 {
|
||||||
|
@ -40,7 +41,7 @@ class Arp : public L3Protocol
|
||||||
public:
|
public:
|
||||||
static const uint16_t PROT_NUMBER;
|
static const uint16_t PROT_NUMBER;
|
||||||
|
|
||||||
Arp (Node *node);
|
Arp (Ptr<Node> node);
|
||||||
~Arp ();
|
~Arp ();
|
||||||
|
|
||||||
virtual TraceResolver *CreateTraceResolver (TraceContext const &context);
|
virtual TraceResolver *CreateTraceResolver (TraceContext const &context);
|
||||||
|
@ -57,7 +58,7 @@ private:
|
||||||
void SendArpRequest (ArpCache const *cache, Ipv4Address to);
|
void SendArpRequest (ArpCache const *cache, Ipv4Address to);
|
||||||
void SendArpReply (ArpCache const *cache, Ipv4Address toIp, MacAddress toMac);
|
void SendArpReply (ArpCache const *cache, Ipv4Address toIp, MacAddress toMac);
|
||||||
CacheList m_cacheList;
|
CacheList m_cacheList;
|
||||||
Node *m_node;
|
Ptr<Node> m_node;
|
||||||
};
|
};
|
||||||
|
|
||||||
}//namespace ns3
|
}//namespace ns3
|
||||||
|
|
Loading…
Reference in New Issue