(p []byte)
| 433 | } |
| 434 | |
| 435 | func (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 | |
| 457 | func (mr *msgReader) read(p []byte) (int, error) { |
| 458 | for { |
nothing calls this directly
no test coverage detected