From 763838b778c72da06bb68796993ac8dc82f6af1c Mon Sep 17 00:00:00 2001 From: jbrenes Date: Wed, 25 May 2016 17:10:31 +0200 Subject: [PATCH] bug fixed --- src/internet/model/tcp-socket-base.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/internet/model/tcp-socket-base.cc b/src/internet/model/tcp-socket-base.cc index 95710ad..7ce649f 100644 --- a/src/internet/model/tcp-socket-base.cc +++ b/src/internet/model/tcp-socket-base.cc @@ -1775,8 +1775,10 @@ TcpSocketBase::ProcessSynSent (Ptr packet, const TcpHeader& tcpHeader) m_rxBuffer->SetNextRxSequence (tcpHeader.GetSequenceNumber () + SequenceNumber32 (1)); m_tcb->m_highTxMark = ++m_tcb->m_nextTxSequence; m_txBuffer->SetHeadSequence (m_tcb->m_nextTxSequence); - SendEmptyPacket (TcpHeader::ACK); - SendPendingData (m_connected); + //Complete the 3-way handshake by sending the pending data or an empty ack + if(!SendPendingData (m_connected)){ + SendEmptyPacket (TcpHeader::ACK); + } Simulator::ScheduleNow (&TcpSocketBase::ConnectionSucceeded, this); // Always respond to first data packet to speed up the connection. // Remove to get the behaviour of old NS-3 code. -- 2.5.5