func (bb *ByteBuffer) ReadAt(p []byte, offset int64) {
	if offset < 0 {
		logger.Panicf("BUG: cannot read at negative offset=%d", offset)
	}
	if offset > int64(len(bb.B)) {
		logger.Panicf("BUG: too big offset=%d; cannot exceed len(bb.B)=%d", offset, len(bb.B))
	}
	if n := copy(p, bb.B[offset:]); n < len(p) {
		logger.Panicf("BUG: EOF occured after reading %d bytes out of %d bytes at offset %d", n, len(p), offset)
	}
}
// ReadAt reads len(p) bytes starting from the given offset.
ReadAt reads len(p) bytes starting from the given offset.
// ReadAt reads len ( p ) bytes starting from the given offset .
func (bb *ByteBuffer) ReadAt(p []byte, offset int64) {
	if offset < 0 {
		logger.Panicf("BUG: cannot read at negative offset=%d", offset)
	}
	if offset > int64(len(bb.B)) {
		logger.Panicf("BUG: too big offset=%d; cannot exceed len(bb.B)=%d", offset, len(bb.B))
	}
	if n := copy(p, bb.B[offset:]); n < len(p) {
		logger.Panicf("BUG: EOF occured after reading %d bytes out of %d bytes at offset %d", n, len(p), offset)
	}
}
func ( bb * ByteBuffer ) ReadAt ( p [ ] byte , offset int64 ) { if offset < 0 { logger . Panicf ( " " , offset ) } if offset > int64 ( len ( bb . B ) ) { logger . Panicf ( " " , offset , len ( bb . B ) ) } if n := copy ( p , bb . B [ offset : ] ) ; n < len ( p ) { logger . Panicf ( " " , n , len ( p ) , offset ) } }
ReadAt reads len(p) bytes starting from the given offset.
ReadAt reads len ( p ) bytes starting from the given offset .