src/internet-node/tcp-socket-impl.cc
changeset 3136 a59b9ce95b6b
parent 3134 1890d6ee27a1
child 3175 ff46939c1b4a
child 3244 dbf56f98a11d
--- a/src/internet-node/tcp-socket-impl.cc	Tue May 20 12:55:23 2008 -0700
+++ b/src/internet-node/tcp-socket-impl.cc	Wed May 21 00:38:49 2008 -0700
@@ -48,7 +48,7 @@
 TcpSocketImpl::GetTypeId ()
 {
   static TypeId tid = TypeId("ns3::TcpSocketImpl")
-    .SetParent<Socket> ()
+    .SetParent<TcpSocket> ()
     .AddTraceSource ("CongestionWindow",
                      "The TCP connection's congestion window",
                      MakeTraceSourceAccessor (&TcpSocketImpl::m_cWnd))
@@ -81,12 +81,9 @@
     m_rtt (0),
     m_lastMeasuredRtt (Seconds(0.0)),
     m_rxAvailable (0), 
-    m_sndBufLimit (0xffffffff), 
-    m_rcvBufLimit (0xffffffff), 
     m_wouldBlock (false) 
 {
   NS_LOG_FUNCTION (this);
-  
 }
 
 TcpSocketImpl::TcpSocketImpl(const TcpSocketImpl& sock)
@@ -95,7 +92,7 @@
     m_dupAckCount (sock.m_dupAckCount),
     m_delAckCount (0),
     m_delAckMaxCount (sock.m_delAckMaxCount),
-    m_delAckTimout (sock.m_delAckTimout),
+    m_delAckTimeout (sock.m_delAckTimeout),
     m_endPoint (0),
     m_node (sock.m_node),
     m_tcp (sock.m_tcp),
@@ -128,9 +125,7 @@
     m_lastMeasuredRtt (Seconds(0.0)),
     m_cnTimeout (sock.m_cnTimeout),
     m_cnCount (sock.m_cnCount),
-    m_rxAvailable (0),
-    m_sndBufLimit (0xffffffff),
-    m_rcvBufLimit (0xffffffff) 
+    m_rxAvailable (0)
 {
   NS_LOG_FUNCTION_NOARGS ();
   NS_LOG_LOGIC("Invoked the copy constructor");
@@ -176,17 +171,9 @@
 TcpSocketImpl::SetNode (Ptr<Node> node)
 {
   m_node = node;
-  Ptr<TcpSocketFactory> t = node->GetObject<TcpSocketFactory> ();
-  m_segmentSize = t->GetDefaultSegSize ();
-  m_rxWindowSize = t->GetDefaultAdvWin ();
-  m_advertisedWindowSize = t->GetDefaultAdvWin ();
-  m_cWnd = t->GetDefaultInitialCwnd () * m_segmentSize;
-  m_ssThresh = t->GetDefaultSsThresh ();
-  m_initialCWnd = t->GetDefaultInitialCwnd ();
-  m_cnTimeout = Seconds (t->GetDefaultConnTimeout ());
-  m_cnCount = t->GetDefaultConnCount ();
-  m_delAckTimout = Seconds(t->GetDefaultDelAckTimeout ());
-  m_delAckMaxCount = t->GetDefaultDelAckCount ();
+  // Initialize some variables 
+  m_cWnd = m_initialCWnd * m_segmentSize;
+  m_rxWindowSize = m_advertisedWindowSize;
 }
 
 void 
@@ -452,12 +439,12 @@
     {
       uint32_t unAckedDataSize = 
         m_pendingData->SizeFromSeq (m_firstPendingSequence, m_highestRxAck);
-      NS_ASSERT (m_sndBufLimit >= unAckedDataSize); //else a logical error
-      return m_sndBufLimit-unAckedDataSize;
+      NS_ASSERT (m_sndBufSize >= unAckedDataSize); //else a logical error
+      return m_sndBufSize-unAckedDataSize;
     }
   else
     {
-      return m_sndBufLimit;
+      return m_sndBufSize;
     }
 }
 
@@ -501,34 +488,6 @@
 }
 
 void
-TcpSocketImpl::SetSndBuf (uint32_t size)
-{
-  NS_LOG_FUNCTION_NOARGS ();
-  m_sndBufLimit = size;
-}
-
-uint32_t
-TcpSocketImpl::GetSndBuf (void) const 
-{
-  NS_LOG_FUNCTION_NOARGS ();
-  return m_sndBufLimit;
-}
-
-void
-TcpSocketImpl::SetRcvBuf (uint32_t size)
-{
-  NS_LOG_FUNCTION_NOARGS ();
-  m_rcvBufLimit = size;
-}
-
-uint32_t
-TcpSocketImpl::GetRcvBuf (void) const
-{
-  NS_LOG_FUNCTION_NOARGS ();
-  return m_rcvBufLimit;
-}
-
-void
 TcpSocketImpl::ForwardUp (Ptr<Packet> packet, Ipv4Address ipv4, uint16_t port)
 {
   NS_LOG_DEBUG("Socket " << this << " got forward up" <<
@@ -1153,7 +1112,7 @@
   }
   else
   {
-    m_delAckEvent = Simulator::Schedule (m_delAckTimout, &TcpSocketImpl::DelAckTimeout, this);
+    m_delAckEvent = Simulator::Schedule (m_delAckTimeout, &TcpSocketImpl::DelAckTimeout, this);
   }
 }
 
@@ -1351,4 +1310,124 @@
     m_remoteAddress);
 }
 
+void
+TcpSocketImpl::SetSndBufSize (uint32_t size)
+{
+  m_sndBufSize = size;
+}
+
+uint32_t
+TcpSocketImpl::GetSndBufSize (void) const
+{
+  return m_sndBufSize;
+}
+
+void
+TcpSocketImpl::SetRcvBufSize (uint32_t size)
+{
+  m_rcvBufSize = size;
+}
+
+uint32_t
+TcpSocketImpl::GetRcvBufSize (void) const
+{
+  return m_rcvBufSize;
+}
+
+void
+TcpSocketImpl::SetSegSize (uint32_t size)
+{
+  m_segmentSize = size;
+}
+
+uint32_t
+TcpSocketImpl::GetSegSize (void) const
+{
+  return m_segmentSize;
+}
+
+void
+TcpSocketImpl::SetAdvWin (uint32_t window)
+{
+  m_advertisedWindowSize = window;
+}
+
+uint32_t
+TcpSocketImpl::GetAdvWin (void) const
+{
+  return m_advertisedWindowSize;
+}
+
+void
+TcpSocketImpl::SetSSThresh (uint32_t threshold)
+{
+  m_ssThresh = threshold;
+}
+
+uint32_t
+TcpSocketImpl::GetSSThresh (void) const
+{
+  return m_ssThresh;
+}
+
+void
+TcpSocketImpl::SetInitialCwnd (uint32_t cwnd)
+{
+  m_initialCWnd = cwnd;
+}
+
+uint32_t
+TcpSocketImpl::GetInitialCwnd (void) const
+{
+  return m_initialCWnd;
+}
+
+void 
+TcpSocketImpl::SetConnTimeout (Time timeout)
+{
+  m_cnTimeout = timeout;
+}
+
+Time
+TcpSocketImpl::GetConnTimeout (void) const
+{
+  return m_cnTimeout;
+}
+
+void 
+TcpSocketImpl::SetConnCount (uint32_t count)
+{
+  m_cnCount = count;
+}
+
+uint32_t 
+TcpSocketImpl::GetConnCount (void) const
+{
+  return m_cnCount;
+}
+
+void 
+TcpSocketImpl::SetDelAckTimeout (Time timeout)
+{
+  m_delAckTimeout = timeout;
+}
+
+Time
+TcpSocketImpl::GetDelAckTimeout (void) const
+{
+  return m_delAckTimeout;
+}
+
+void
+TcpSocketImpl::SetDelAckMaxCount (uint32_t count)
+{
+  m_delAckMaxCount = count;
+}
+
+uint32_t
+TcpSocketImpl::GetDelAckMaxCount (void) const
+{
+  return m_delAckMaxCount;
+}
+
 }//namespace ns3