src/internet-node/udp-socket.cc
changeset 568 e1660959ecbb
parent 557 927a5bb6432a
child 604 0b6bef4e99bc
--- a/src/internet-node/udp-socket.cc	Thu May 10 18:33:52 2007 +0200
+++ b/src/internet-node/udp-socket.cc	Thu May 10 20:19:26 2007 +0200
@@ -26,7 +26,7 @@
 
 namespace ns3 {
 
-UdpSocket::UdpSocket (Ptr<Node> node, Udp *udp)
+UdpSocket::UdpSocket (Ptr<Node> node, Ptr<Udp> udp)
   : m_endPoint (0),
     m_node (node),
     m_udp (udp),
@@ -34,9 +34,7 @@
     m_shutdownSend (false),
     m_shutdownRecv (false),
     m_connected (false)
-{
-  m_udp->Ref ();
-}
+{}
 UdpSocket::~UdpSocket ()
 {
   m_node = 0;
@@ -55,11 +53,7 @@
       m_udp->DeAllocate (m_endPoint);
       NS_ASSERT (m_endPoint == 0);
     }
-  if (m_udp != 0)
-    {
-      m_udp->Unref ();
-      m_udp = 0;
-    }
+  m_udp = 0;
 }
 
 Ptr<Node>
@@ -73,11 +67,7 @@
 {
   m_node = 0;
   m_endPoint = 0;
-  if (m_udp != 0)
-    {
-      m_udp->Unref ();
-      m_udp = 0;
-    }
+  m_udp = 0;
 }
 int
 UdpSocket::FinishBind (void)
@@ -135,7 +125,7 @@
 }
 
 void 
-UdpSocket::DoClose(ns3::Callback<void, Socket*> closeCompleted)
+UdpSocket::DoClose(ns3::Callback<void, Ptr<Socket> > closeCompleted)
 {
   // XXX: we should set the close state and check it in all API methods.
   if (!closeCompleted.IsNull ())
@@ -146,9 +136,9 @@
 void 
 UdpSocket::DoConnect(const Ipv4Address & address,
                      uint16_t portNumber,
-                     ns3::Callback<void, Socket*> connectionSucceeded,
-                     ns3::Callback<void, Socket*> connectionFailed,
-                     ns3::Callback<void, Socket*> halfClose)
+                     ns3::Callback<void, Ptr<Socket> > connectionSucceeded,
+                     ns3::Callback<void, Ptr<Socket> > connectionFailed,
+                     ns3::Callback<void, Ptr<Socket> > halfClose)
 {
   m_defaultAddress = address;
   m_defaultPort = portNumber;
@@ -159,9 +149,9 @@
   m_connected = true;
 }
 int
-UdpSocket::DoAccept(ns3::Callback<bool, Socket*, const Ipv4Address&, uint16_t> connectionRequest,
-                    ns3::Callback<void, Socket*, const Ipv4Address&, uint16_t> newConnectionCreated,
-                    ns3::Callback<void, Socket*> closeRequested)
+UdpSocket::DoAccept(ns3::Callback<bool, Ptr<Socket>, const Ipv4Address&, uint16_t> connectionRequest,
+                    ns3::Callback<void, Ptr<Socket>, const Ipv4Address&, uint16_t> newConnectionCreated,
+                    ns3::Callback<void, Ptr<Socket> > closeRequested)
 {
   // calling accept on a udp socket is a programming error.
   m_errno = EOPNOTSUPP;
@@ -170,7 +160,7 @@
 int 
 UdpSocket::DoSend (const uint8_t* buffer,
                    uint32_t size,
-                   ns3::Callback<void, Socket*, uint32_t> dataSent)
+                   ns3::Callback<void, Ptr<Socket>, uint32_t> dataSent)
 {
   if (!m_connected)
     {
@@ -190,7 +180,7 @@
 }
 int
 UdpSocket::DoSendPacketTo (const Packet &p, Ipv4Address daddr, uint16_t dport,
-                           ns3::Callback<void, Socket*, uint32_t> dataSent)
+                           ns3::Callback<void, Ptr<Socket>, uint32_t> dataSent)
 {
   if (m_endPoint == 0)
     {
@@ -219,7 +209,7 @@
                     uint16_t port,
                     const uint8_t *buffer,
                     uint32_t size,
-                    ns3::Callback<void, Socket*, uint32_t> dataSent)
+                    ns3::Callback<void, Ptr<Socket>, uint32_t> dataSent)
 {
   if (m_connected)
     {
@@ -238,12 +228,12 @@
   return DoSendPacketTo (p, address, port, dataSent);
 }
 void 
-UdpSocket::DoRecv(ns3::Callback<void, Socket*, const uint8_t*, uint32_t,const Ipv4Address&, uint16_t> callback)
+UdpSocket::DoRecv(ns3::Callback<void, Ptr<Socket>, const uint8_t*, uint32_t,const Ipv4Address&, uint16_t> callback)
 {
   m_rxCallback = callback;
 }
 void 
-UdpSocket::DoRecvDummy(ns3::Callback<void, Socket*, uint32_t,const Ipv4Address&, uint16_t> callback)
+UdpSocket::DoRecvDummy(ns3::Callback<void, Ptr<Socket>, uint32_t,const Ipv4Address&, uint16_t> callback)
 {
   m_dummyRxCallback = callback;
 }