From 2f1189d76614caa18d7bc038bca901eca2327876 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Thu, 3 May 2007 14:23:41 +0200 Subject: [PATCH] remove Node::GetUdp --- src/node/internet-node.cc | 15 --------------- src/node/internet-node.h | 2 -- src/node/node.cc | 5 ----- src/node/node.h | 2 -- src/node/udp-socket.cc | 6 +++--- src/node/udp-socket.h | 2 +- src/node/udp.cc | 2 +- 7 files changed, 5 insertions(+), 29 deletions(-) diff --git a/src/node/internet-node.cc b/src/node/internet-node.cc index 20bf814de..aefa220a5 100644 --- a/src/node/internet-node.cc +++ b/src/node/internet-node.cc @@ -94,12 +94,6 @@ InternetNode::CreateTraceResolver (TraceContext const &context) InternetNode::ARP); arp->Unref (); - Udp *udp = GetUdp (); - resolver->Add ("udp", - MakeCallback (&Udp::CreateTraceResolver, udp), - InternetNode::UDP); - udp->Unref (); - return resolver; } @@ -118,15 +112,6 @@ InternetNode::GetIpv4 (void) const ipv4->Ref (); return ipv4; } -Udp * -InternetNode::GetUdp (void) const -{ - Ipv4L4Demux *demux = QueryInterface (Ipv4L4Demux::iid); - Udp *udp = static_cast (demux->PeekProtocol (Udp::PROT_NUMBER)); - demux->Unref (); - udp->Ref (); - return udp; -} Arp * InternetNode::GetArp (void) const diff --git a/src/node/internet-node.h b/src/node/internet-node.h index 09df4104b..45ef3de39 100644 --- a/src/node/internet-node.h +++ b/src/node/internet-node.h @@ -38,7 +38,6 @@ class InternetNode : public Node public: enum TraceType { IPV4, - UDP, ARP, }; InternetNode(); @@ -46,7 +45,6 @@ public: virtual TraceResolver *CreateTraceResolver (TraceContext const &context); // Capability access virtual Ipv4 * GetIpv4 (void) const; - virtual Udp * GetUdp (void) const; virtual Arp * GetArp (void) const; void SetName(std::string name); diff --git a/src/node/node.cc b/src/node/node.cc index ee1791db5..d48e84732 100644 --- a/src/node/node.cc +++ b/src/node/node.cc @@ -107,11 +107,6 @@ Node::GetIpv4 (void) const { return 0; } -Udp * -Node::GetUdp (void) const -{ - return 0; -} Arp * Node::GetArp (void) const diff --git a/src/node/node.h b/src/node/node.h index 43d19b42e..c15ff577f 100644 --- a/src/node/node.h +++ b/src/node/node.h @@ -32,7 +32,6 @@ namespace ns3 { class Ipv4; -class Udp; class Arp; class TraceContext; @@ -72,7 +71,6 @@ public: // of the correct type if one exists, or the nil pointer if no // null capability exists. virtual Ipv4 * GetIpv4 (void) const; - virtual Udp * GetUdp (void) const; virtual Arp * GetArp (void) const; private: diff --git a/src/node/udp-socket.cc b/src/node/udp-socket.cc index b28c721ad..6fdc6fe4c 100644 --- a/src/node/udp-socket.cc +++ b/src/node/udp-socket.cc @@ -26,16 +26,16 @@ namespace ns3 { -UdpSocket::UdpSocket (Node *node) +UdpSocket::UdpSocket (Node *node, Udp *udp) : m_endPoint (0), m_node (node), + m_udp (udp), m_errno (ENOTERROR), m_shutdownSend (false), m_shutdownRecv (false), m_connected (false) { - m_udp = m_node->GetUdp (); - NS_ASSERT (m_udp != 0); + m_udp->Ref (); m_node->Ref (); } UdpSocket::~UdpSocket () diff --git a/src/node/udp-socket.h b/src/node/udp-socket.h index 40bbd77e1..728e51170 100644 --- a/src/node/udp-socket.h +++ b/src/node/udp-socket.h @@ -38,7 +38,7 @@ public: /** * Create an unbound udp socket. */ - UdpSocket (Node *node); + UdpSocket (Node *node, Udp *udp); virtual ~UdpSocket (); virtual enum SocketErrno GetErrno (void) const; diff --git a/src/node/udp.cc b/src/node/udp.cc index b3fd7e0cf..4e5777390 100644 --- a/src/node/udp.cc +++ b/src/node/udp.cc @@ -73,7 +73,7 @@ Udp::DoDispose (void) Socket * Udp::CreateSocket (void) { - return new UdpSocket (m_node); + return new UdpSocket (m_node, this); } Ipv4EndPoint *