func (fs *BasicSummary) GetFileSize() int64 {
	return fs.FileSize
}
GetFileSize gets the file size of the file
package gosync
import (
	"bufio"
	"crypto/md5"
	"fmt"
	"io"
	"io/ioutil"
	"os"
	"runtime"
	"github.com/Redundancy/go-sync/blocksources"
	"github.com/Redundancy/go-sync/chunks"
	"github.com/Redundancy/go-sync/comparer"
	"github.com/Redundancy/go-sync/filechecksum"
	"github.com/Redundancy/go-sync/index"
	"github.com/Redundancy/go-sync/patcher"
	"github.com/Redundancy/go-sync/patcher/sequential"
)
const (
	megabyte = 1000000
)
var (
	DefaultConcurrency = runtime.NumCPU()
)
type ReadSeekerAt interface {
	io.ReadSeeker
	io.ReaderAt
}
type RSync struct {
	Input  ReadSeekerAt
	Source patcher.BlockSource
	Output io.Writer
	Summary FileSummary
	OnClose []closer
}
type closer interface {
	Close() error
}
type FileSummary interface {
	GetBlockSize() uint
	GetBlockCount() uint
	GetFileSize() int64
	FindWeakChecksum2(bytes []byte) interface{}
	FindStrongChecksum2(bytes []byte, weak interface{}) []chunks.ChunkChecksum
	GetStrongChecksumForBlock(blockID int) []byte
}
type BasicSummary struct {
	BlockSize  uint
	BlockCount uint
	FileSize   int64
	*index.ChecksumIndex
	filechecksum.ChecksumLookup
}
func (fs *BasicSummary) GetBlockSize() uint {
	return fs.BlockSize
}
func (fs *BasicSummary) GetBlockCount() uint {
	return fs.BlockCount
}