fill windows after processing acks

This commit is contained in:
v2ray
2016-07-15 23:23:21 +02:00
parent 72ee6436eb
commit 066e5e216d
+2 -2
View File
@@ -317,13 +317,12 @@ func (this *SendingWorker) ProcessSegment(current uint32, seg *AckSegment) {
this.remoteNextNumber = seg.ReceivingWindow
}
this.ProcessReceivingNextWithoutLock(seg.ReceivingNext)
this.FillWindow(current)
var maxack uint32
for i := 0; i < int(seg.Count); i++ {
timestamp := seg.TimestampList[i]
number := seg.NumberList[i]
if current-timestamp < 10000 && number-this.firstUnacknowledged <= 0x7FFFFFFF {
if current-timestamp < 10000 {
this.conn.roundTrip.Update(current - timestamp)
}
this.ProcessAck(number)
@@ -333,6 +332,7 @@ func (this *SendingWorker) ProcessSegment(current uint32, seg *AckSegment) {
}
this.window.HandleFastAck(maxack)
this.FillWindow(current)
}
func (this *SendingWorker) Push(b []byte) int {