fixed an issue with TCP where it possibly could not recover from a retransmission as the RCV.NXT was wrongly updated. When appending data we now set it to the sequence in the end of the receive queue.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20776 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Hugo Santos 2007-04-20 23:18:06 +00:00
parent 739e994278
commit f1b088e623
1 changed files with 1 additions and 1 deletions

View File

@ -1557,8 +1557,8 @@ TCPEndpoint::_WaitForEstablished(RecursiveLocker &locker, bigtime_t timeout)
void
TCPEndpoint::_AddData(tcp_segment_header &segment, net_buffer *buffer)
{
fReceiveNext += buffer->size;
fReceiveQueue.Add(buffer, segment.sequence);
fReceiveNext = fReceiveQueue.LastSequence();
TRACE(" _AddData(): adding data, receive next = %lu. Now have %lu bytes.",
(uint32)fReceiveNext, fReceiveQueue.Available());