MCPcopy
hub / github.com/wavetermdev/waveterm / readLoop

Method readLoop

pkg/jobmanager/streammanager.go:280–306  ·  view source on GitHub ↗

readLoop is the main read goroutine

()

Source from the content-addressed store, hash-verified

278
279// readLoop is the main read goroutine
280func (sm *StreamManager) readLoop() {
281 readBuf := make([]byte, MaxPacketSize)
282 for {
283 sm.lock.Lock()
284 closed := sm.closed
285 sm.lock.Unlock()
286
287 if closed {
288 return
289 }
290
291 n, err := sm.reader.Read(readBuf)
292
293 if n > 0 {
294 sm.handleReadData(readBuf[:n])
295 }
296
297 if err != nil {
298 if err == io.EOF {
299 sm.handleEOF()
300 } else {
301 sm.handleError(err)
302 }
303 return
304 }
305 }
306}
307
308func (sm *StreamManager) handleReadData(data []byte) {
309 offset := 0

Callers 1

AttachReaderMethod · 0.95

Calls 4

handleReadDataMethod · 0.95
handleEOFMethod · 0.95
handleErrorMethod · 0.95
ReadMethod · 0.45

Tested by

no test coverage detected