| 
					
				 | 
			
			
				@@ -206,6 +206,9 @@ func (this *SendingQueue) Pop() *alloc.Buffer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if this.start == this.cap { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		this.start = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if this.IsEmpty() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		this.start = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return seg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -301,6 +304,18 @@ func (this *SendingWorker) ProcessSegment(current uint32, seg *AckSegment) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		this.remoteNextNumber = seg.ReceivingWindow 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	this.ProcessReceivingNextWithoutLock(seg.ReceivingNext) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	for !this.queue.IsEmpty() && !this.window.IsFull() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		seg := NewDataSegment() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		seg.Data = this.queue.Pop() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		seg.Number = this.nextNumber 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		seg.timeout = current 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		seg.ackSkipped = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		seg.transmit = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		this.window.Push(seg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		this.nextNumber++ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var maxack uint32 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	for i := 0; i < int(seg.Count); i++ { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		timestamp := seg.TimestampList[i] 
			 |