|
Lines 1078-1083
void TcpSocketImpl::NewRx (Ptr<Packet> p
|
Link Here
|
|---|
|
| 1078 |
i = m_bufferedData.find (tcpHeader.GetSequenceNumber () ); |
1078 |
i = m_bufferedData.find (tcpHeader.GetSequenceNumber () ); |
| 1079 |
UnAckData_t::iterator next = i; |
1079 |
UnAckData_t::iterator next = i; |
| 1080 |
next++; |
1080 |
next++; |
|
|
1081 |
//make sure the buffer is logically sequenced |
| 1082 |
if(next != m_bufferedData.end()) |
| 1083 |
{ |
| 1084 |
NS_ASSERT(next->first >= i->first + SequenceNumber(i->second->GetSize ())); |
| 1085 |
} |
| 1081 |
while(next != m_bufferedData.end()) |
1086 |
while(next != m_bufferedData.end()) |
| 1082 |
{ |
1087 |
{ |
| 1083 |
if(i->first + SequenceNumber(i->second->GetSize ()) == next->first) |
1088 |
if(i->first + SequenceNumber(i->second->GetSize ()) == next->first) |
|
Lines 1121-1126
void TcpSocketImpl::NewRx (Ptr<Packet> p
|
Link Here
|
|---|
|
| 1121 |
tag.SetAddress (fromAddress); |
1126 |
tag.SetAddress (fromAddress); |
| 1122 |
p->AddTag (tag); |
1127 |
p->AddTag (tag); |
| 1123 |
m_bufferedData[tcpHeader.GetSequenceNumber () ] = p; |
1128 |
m_bufferedData[tcpHeader.GetSequenceNumber () ] = p; |
|
|
1129 |
i = |
| 1130 |
m_bufferedData.find (tcpHeader.GetSequenceNumber () ); |
| 1131 |
UnAckData_t::iterator next = i; |
| 1132 |
++next; |
| 1133 |
if(next != m_bufferedData.end()) |
| 1134 |
{ |
| 1135 |
NS_ASSERT(next->first >= i->first + SequenceNumber(i->second->GetSize ())); |
| 1136 |
} |
| 1124 |
} |
1137 |
} |
| 1125 |
else |
1138 |
else |
| 1126 |
{ // debug |
1139 |
{ // debug |