Clean up tcp.sendData
PiperOrigin-RevId: 221484739 Change-Id: I44c71f79f99d0d00a2e70a7f06d7024a62a5de0a
This commit is contained in:
parent
7b938ef78c
commit
b5e91eaa52
|
@ -146,7 +146,7 @@ func (vv VectorisedView) Views() []View {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Append appends the views in a vectorised view to this vectorised view.
|
// Append appends the views in a vectorised view to this vectorised view.
|
||||||
func (vv *VectorisedView) Append(vv2 *VectorisedView) {
|
func (vv *VectorisedView) Append(vv2 VectorisedView) {
|
||||||
vv.views = append(vv.views, vv2.views...)
|
vv.views = append(vv.views, vv2.views...)
|
||||||
vv.size += vv2.size
|
vv.size += vv2.size
|
||||||
}
|
}
|
||||||
|
|
|
@ -404,8 +404,7 @@ func (s *sender) sendData() {
|
||||||
seg := s.writeNext
|
seg := s.writeNext
|
||||||
end := s.sndUna.Add(s.sndWnd)
|
end := s.sndUna.Add(s.sndWnd)
|
||||||
var dataSent bool
|
var dataSent bool
|
||||||
for next := (*segment)(nil); seg != nil && s.outstanding < s.sndCwnd; seg = next {
|
for ; seg != nil && s.outstanding < s.sndCwnd; seg = seg.Next() {
|
||||||
next = seg.Next()
|
|
||||||
|
|
||||||
// We abuse the flags field to determine if we have already
|
// We abuse the flags field to determine if we have already
|
||||||
// assigned a sequence number to this segment.
|
// assigned a sequence number to this segment.
|
||||||
|
@ -428,17 +427,16 @@ func (s *sender) sendData() {
|
||||||
// in poorly written DNS implementations.
|
// in poorly written DNS implementations.
|
||||||
var nextTooBig bool
|
var nextTooBig bool
|
||||||
|
|
||||||
for next != nil && next.data.Size() != 0 {
|
for seg.Next() != nil && seg.Next().data.Size() != 0 {
|
||||||
if seg.data.Size()+next.data.Size() > available {
|
if seg.data.Size()+seg.Next().data.Size() > available {
|
||||||
nextTooBig = true
|
nextTooBig = true
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
seg.data.Append(&next.data)
|
seg.data.Append(seg.Next().data)
|
||||||
|
|
||||||
// Consume the segment that we just merged in.
|
// Consume the segment that we just merged in.
|
||||||
s.writeList.Remove(next)
|
s.writeList.Remove(seg.Next())
|
||||||
next = next.Next()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if !nextTooBig && seg.data.Size() < available {
|
if !nextTooBig && seg.data.Size() < available {
|
||||||
|
@ -496,7 +494,6 @@ func (s *sender) sendData() {
|
||||||
nSeg.data.TrimFront(available)
|
nSeg.data.TrimFront(available)
|
||||||
nSeg.sequenceNumber.UpdateForward(seqnum.Size(available))
|
nSeg.sequenceNumber.UpdateForward(seqnum.Size(available))
|
||||||
s.writeList.InsertAfter(seg, nSeg)
|
s.writeList.InsertAfter(seg, nSeg)
|
||||||
next = nSeg
|
|
||||||
seg.data.CapLength(available)
|
seg.data.CapLength(available)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue