MCPcopy Index your code
hub / github.com/wavetermdev/waveterm / processOOOPacketsLocked

Method processOOOPacketsLocked

pkg/streamclient/streamreader.go:109–130  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

107}
108
109func (r *Reader) processOOOPacketsLocked() {
110 if len(r.oooPackets) == 0 {
111 return
112 }
113 sort.Slice(r.oooPackets, func(i, j int) bool {
114 return r.oooPackets[i].Seq < r.oooPackets[j].Seq
115 })
116 consumed := 0
117 for _, pkt := range r.oooPackets {
118 if r.eof || r.err != nil {
119 // we're done, so we can clear any pending ooo packets
120 r.oooPackets = nil
121 return
122 }
123 if pkt.Seq != r.nextSeq {
124 break
125 }
126 r.recvDataOrderedLocked(pkt)
127 consumed++
128 }
129 r.oooPackets = r.oooPackets[consumed:]
130}
131
132func (r *Reader) sendAckLocked(fin bool, cancel bool, errStr string) {
133 rwnd := r.readWindow - int64(len(r.buffer))

Callers 1

RecvDataMethod · 0.95

Calls 1

recvDataOrderedLockedMethod · 0.95

Tested by

no test coverage detected