Clean up tcp.sendData

PiperOrigin-RevId: 221484739
Change-Id: I44c71f79f99d0d00a2e70a7f06d7024a62a5de0a
This commit is contained in:
Ian Gudger 2018-11-14 11:57:58 -08:00 committed by Shentubot
parent 7b938ef78c
commit b5e91eaa52
2 changed files with 6 additions and 9 deletions

View File

@ -146,7 +146,7 @@ func (vv VectorisedView) Views() []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.size += vv2.size
}

View File

@ -404,8 +404,7 @@ func (s *sender) sendData() {
seg := s.writeNext
end := s.sndUna.Add(s.sndWnd)
var dataSent bool
for next := (*segment)(nil); seg != nil && s.outstanding < s.sndCwnd; seg = next {
next = seg.Next()
for ; seg != nil && s.outstanding < s.sndCwnd; seg = seg.Next() {
// We abuse the flags field to determine if we have already
// assigned a sequence number to this segment.
@ -428,17 +427,16 @@ func (s *sender) sendData() {
// in poorly written DNS implementations.
var nextTooBig bool
for next != nil && next.data.Size() != 0 {
if seg.data.Size()+next.data.Size() > available {
for seg.Next() != nil && seg.Next().data.Size() != 0 {
if seg.data.Size()+seg.Next().data.Size() > available {
nextTooBig = true
break
}
seg.data.Append(&next.data)
seg.data.Append(seg.Next().data)
// Consume the segment that we just merged in.
s.writeList.Remove(next)
next = next.Next()
s.writeList.Remove(seg.Next())
}
if !nextTooBig && seg.data.Size() < available {
@ -496,7 +494,6 @@ func (s *sender) sendData() {
nSeg.data.TrimFront(available)
nSeg.sequenceNumber.UpdateForward(seqnum.Size(available))
s.writeList.InsertAfter(seg, nSeg)
next = nSeg
seg.data.CapLength(available)
}