mirror of
https://github.com/v2fly/v2ray-core.git
synced 2025-07-26 11:44:22 -04:00
fix a bug in length calculation
This commit is contained in:
parent
6ca4eaf3b6
commit
2169dcd7da
@ -60,16 +60,17 @@ func (this *SendingWindow) Remove(idx uint32) {
|
||||
}
|
||||
seg.Release()
|
||||
this.data[pos] = nil
|
||||
if pos == this.start {
|
||||
if this.start == this.last {
|
||||
this.len = 0
|
||||
this.start = 0
|
||||
this.last = 0
|
||||
} else {
|
||||
delta := this.next[pos] - this.start
|
||||
this.start = this.next[pos]
|
||||
this.len -= delta
|
||||
if pos == this.start && pos == this.last {
|
||||
this.len = 0
|
||||
this.start = 0
|
||||
this.last = 0
|
||||
} else if pos == this.start {
|
||||
delta := this.next[pos] - this.start
|
||||
if this.next[pos] < this.start {
|
||||
delta = this.next[pos] + this.cap - this.start
|
||||
}
|
||||
this.start = this.next[pos]
|
||||
this.len -= delta
|
||||
} else if pos == this.last {
|
||||
this.last = this.prev[pos]
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user