code: func NewCompressReader(r io.Reader) *compressReader {
  	p := &compressReader{
  		reader: r,
  		header: make([]byte, HeaderSize),
  	}
  	p.data = make([]byte, BlockMaxSize, BlockMaxSize)
  
  	zlen := lz4.CompressBound(BlockMaxSize) + HeaderSize
  	p.zdata = make([]byte, zlen, zlen)
  
  	p.pos = len(p.data)
  	return p
  }
docs: // NewCompressReader wrap the io.Reader