func (b *FixedSizeRingBuf) Bytes() []byte {

	extent := b.Beg + b.Readable
	if extent <= b.N {
		// we fit contiguously in this buffer without wrapping to the other
		return b.A[b.Use][b.Beg:(b.Beg + b.Readable)]
	}

	// wrap into the other buffer
	src := b.Use
	dest := 1 - b.Use

	n := copy(b.A[dest], b.A[src][b.Beg:])
	n += copy(b.A[dest][n:], b.A[src][0:(extent%b.N)])

	b.Use = dest
	b.Beg = 0

	return b.A[b.Use][:n]
}
func (b *FixedSizeRingBuf) Bytes() []byte {

	extent := b.Beg + b.Readable
	if extent <= b.N {
		
		return b.A[b.Use][b.Beg:(b.Beg + b.Readable)]
	}

	
	src := b.Use
	dest := 1 - b.Use

	n := copy(b.A[dest], b.A[src][b.Beg:])
	n += copy(b.A[dest][n:], b.A[src][0:(extent%b.N)])

	b.Use = dest
	b.Beg = 0

	return b.A[b.Use][:n]
}
func ( b * FixedSizeRingBuf ) Bytes ( ) [ ] byte { extent := b . Beg + b . Readable if extent <= b . N { // we fit contiguously in this buffer without wrapping to the other return b . A [ b . Use ] [ b . Beg : ( b . Beg + b . Readable ) ] } // wrap into the other buffer src := b . Use dest := 1 - b . Use n := copy ( b . A [ dest ] , b . A [ src ] [ b . Beg : ] ) n += copy ( b . A [ dest ] [ n : ] , b . A [ src ] [ 0 : ( extent % b . N ) ] ) b . Use = dest b . Beg = 0 return b . A [ b . Use ] [ : n ] }
// from the standard library description of Bytes():
// Bytes() returns a slice of the contents of the unread portion of the buffer.
// If the caller changes the contents of the
// returned slice, the contents of the buffer will change provided there
//  are no intervening method calls on the Buffer.
//
// The largest slice Bytes ever returns is bounded above by the maxViewInBytes
// value used when calling NewFixedSizeRingBuf().
from the standard library description of Bytes () : Bytes () returns a slice of the contents of the unread portion of the buffer . If the caller changes the contents of the returned slice the contents of the buffer will change provided there are no intervening method calls on the Buffer . The largest slice Bytes ever returns is bounded above by the maxViewInBytes value used when calling NewFixedSizeRingBuf () .