|
109 |
m_dupAckCount (sock.m_dupAckCount), |
109 |
m_dupAckCount (sock.m_dupAckCount), |
110 |
m_delAckCount (0), |
110 |
m_delAckCount (0), |
111 |
m_delAckMaxCount (sock.m_delAckMaxCount), |
111 |
m_delAckMaxCount (sock.m_delAckMaxCount), |
|
|
112 |
m_nagle (sock.m_nagle), |
112 |
m_cnCount (sock.m_cnCount), |
113 |
m_cnCount (sock.m_cnCount), |
113 |
m_delAckTimeout (sock.m_delAckTimeout), |
114 |
m_delAckTimeout (sock.m_delAckTimeout), |
114 |
m_persistTimeout (sock.m_persistTimeout), |
115 |
m_persistTimeout (sock.m_persistTimeout), |
|
1296 |
{ |
1297 |
{ |
1297 |
break; // No more |
1298 |
break; // No more |
1298 |
} |
1299 |
} |
|
|
1300 |
|
1301 |
// Nagle's algorithm. If enabled, hold off sending if there is unacked |
1302 |
// data in the buffer and the amount of data to send is less than a |
1303 |
// segment size |
1304 |
if (m_nagle) |
1305 |
{ |
1306 |
if (UnAckDataCount () > 0 && |
1307 |
m_txBuffer.SizeFromSequence (m_nextTxSequence) < m_segmentSize) |
1308 |
{ |
1309 |
NS_LOG_LOGIC ("Invoking Nagle's algorithm. Wait to send."); |
1310 |
break; |
1311 |
} |
1312 |
} |
1313 |
|
1299 |
uint32_t s = std::min (w, m_segmentSize); // Send no more than window |
1314 |
uint32_t s = std::min (w, m_segmentSize); // Send no more than window |
1300 |
Ptr<Packet> p = m_txBuffer.CopyFromSequence (s, m_nextTxSequence); |
1315 |
Ptr<Packet> p = m_txBuffer.CopyFromSequence (s, m_nextTxSequence); |
1301 |
NS_LOG_LOGIC ("TcpSocketBase " << this << " SendPendingData" << |
1316 |
NS_LOG_LOGIC ("TcpSocketBase " << this << " SendPendingData" << |
|
1732 |
} |
1747 |
} |
1733 |
|
1748 |
|
1734 |
void |
1749 |
void |
|
|
1750 |
TcpSocketBase::SetNagle (bool enable) |
1751 |
{ |
1752 |
m_nagle = enable; |
1753 |
} |
1754 |
|
1755 |
bool |
1756 |
TcpSocketBase::GetNagle (void) const |
1757 |
{ |
1758 |
return m_nagle; |
1759 |
} |
1760 |
|
1761 |
void |
1735 |
TcpSocketBase::SetPersistTimeout (Time timeout) |
1762 |
TcpSocketBase::SetPersistTimeout (Time timeout) |
1736 |
{ |
1763 |
{ |
1737 |
m_persistTimeout = timeout; |
1764 |
m_persistTimeout = timeout; |