MCPcopy
hub / github.com/coder/websocket / Read

Method Read

read.go:435–455  ·  view source on GitHub ↗
(p []byte)

Source from the content-addressed store, hash-verified

433}
434
435func (mr *msgReader) Read(p []byte) (n int, err error) {
436 err = mr.c.readMu.lock(mr.ctx)
437 if err != nil {
438 return 0, fmt.Errorf("failed to read: %w", err)
439 }
440 defer mr.c.readMu.unlock()
441
442 n, err = mr.limitReader.Read(p)
443 if mr.flate && mr.flateContextTakeover() {
444 p = p[:n]
445 mr.dict.write(p)
446 }
447 if errors.Is(err, io.EOF) || errors.Is(err, io.ErrUnexpectedEOF) && mr.fin && mr.flate {
448 mr.putFlateReader()
449 return n, io.EOF
450 }
451 if err != nil {
452 return n, fmt.Errorf("failed to read: %w", err)
453 }
454 return n, nil
455}
456
457func (mr *msgReader) read(p []byte) (int, error) {
458 for {

Callers

nothing calls this directly

Calls 6

flateContextTakeoverMethod · 0.95
putFlateReaderMethod · 0.95
lockMethod · 0.80
unlockMethod · 0.45
ReadMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected