View | Details | Raw Unified | Return to bug 248
Collapse All | Expand All

(-)a/src/internet-stack/tcp-socket-impl.cc (+13 lines)
 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

Return to bug 248