func NewReader(src io.Reader) *Reader {
	return &Reader{
		src:      src,
		checksum: hashPool.Get(),
	}
}
NewReader returns a new LZ4 frame decoder.
No access to the underlying io.Reader is performed.
package lz4
import (
	"encoding/binary"
	"errors"
	"fmt"
	"hash"
	"io"
	"io/ioutil"
	"runtime"
	"sync"
	"sync/atomic"
)
var ErrInvalid = errors.New("invalid lz4 data")
var errEndOfBlock = errors.New("end of block")
type Reader struct {
	Pos int64  
	Header
	src      io.Reader
	checksum hash.Hash32     
	wg       sync.WaitGroup  
	data     []byte          
	window   []byte          
}