mirror of https://github.com/v2ray/v2ray-core
simplify logic
parent
e5c4fd3e1c
commit
84889117e9
|
@ -248,15 +248,13 @@ func (this *ReceivingWorker) ProcessSendingNext(number uint32) {
|
||||||
|
|
||||||
func (this *ReceivingWorker) ProcessSegment(seg *DataSegment) {
|
func (this *ReceivingWorker) ProcessSegment(seg *DataSegment) {
|
||||||
number := seg.Number
|
number := seg.Number
|
||||||
if _itimediff(number, this.nextNumber+this.windowSize) >= 0 || _itimediff(number, this.nextNumber) < 0 {
|
idx := number - this.nextNumber
|
||||||
|
if idx >= this.windowSize {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
this.ProcessSendingNext(seg.SendingNext)
|
this.ProcessSendingNext(seg.SendingNext)
|
||||||
|
|
||||||
this.acklist.Add(number, seg.Timestamp)
|
this.acklist.Add(number, seg.Timestamp)
|
||||||
this.windowMutex.Lock()
|
this.windowMutex.Lock()
|
||||||
idx := number - this.nextNumber
|
|
||||||
|
|
||||||
if !this.window.Set(idx, seg) {
|
if !this.window.Set(idx, seg) {
|
||||||
seg.Release()
|
seg.Release()
|
||||||
|
|
Loading…
Reference in New Issue