MCPcopy Create free account
hub / github.com/apache/fory / Read

Method Read

go/fory/buffer.go:404–427  ·  view source on GitHub ↗
(p []byte)

Source from the content-addressed store, hash-verified

402}
403
404func (b *ByteBuffer) Read(p []byte) (n int, err error) {
405 if len(p) == 0 {
406 return 0, nil
407 }
408
409 if b.readerIndex+len(p) > len(b.data) && b.reader != nil {
410 var errOut Error
411 if !b.fill(len(p), &errOut) {
412 copied := copy(p, b.data[b.readerIndex:])
413 b.readerIndex += copied
414 if errOut.Kind() == ErrKindBufferOutOfBound {
415 return copied, io.EOF
416 }
417 return copied, errOut
418 }
419 }
420
421 copied := copy(p, b.data[b.readerIndex:])
422 b.readerIndex += copied
423 if copied == 0 {
424 return 0, io.EOF
425 }
426 return copied, nil
427}
428
429// ReadBinary reads n bytes and sets error on bounds violation
430func (b *ByteBuffer) ReadBinary(length int, err *Error) []byte {

Callers 1

decodeTypeDefFunction · 0.95

Calls 2

fillMethod · 0.95
KindMethod · 0.95

Tested by

no test coverage detected