Process of very small segments at the end of a PDU
authorManuel Requena <manuel.requena@cttc.es>
Thu, 17 May 2012 16:21:06 +0200
changeset 8819 379962057544
parent 8818 cc5ab4942423
child 8820 1a0fbd940a0d
Process of very small segments at the end of a PDU
src/lte/model/lte-rlc-am.cc
--- a/src/lte/model/lte-rlc-am.cc	Thu May 17 16:09:36 2012 +0200
+++ b/src/lte/model/lte-rlc-am.cc	Thu May 17 16:21:06 2012 +0200
@@ -359,9 +359,10 @@
           // (NO more segments) → exit
           // break;
         }
-      else if ( (firstSegment->GetSize () == nextSegmentSize) || (m_txonBuffer.size () == 0) )
+      else if ( (nextSegmentSize - firstSegment->GetSize () <= 2) || (m_txBuffer.size () == 0) )
         {
-          NS_LOG_LOGIC ("    IF firstSegment == NextSegmentSize || txonBuffer.size == 0");
+          NS_LOG_LOGIC ("    IF nextSegmentSize - firstSegment->GetSize () <= 2 || txBuffer.size == 0");
+
           // Add txBuffer.FirstBuffer to DataField
           dataFieldAddedSize = firstSegment->GetSize ();
           dataFieldTotalSize += dataFieldAddedSize;
@@ -384,7 +385,7 @@
             }
           NS_LOG_LOGIC ("        Next segment size = " << nextSegmentSize);
 
-          // nextSegmentSize MUST be zero (only if txonBuffer is not empty)
+          // nextSegmentSize <= 2 (only if txBuffer is not empty)
 
           // (NO more segments) → exit
           // break;