コード例 #1
0
ファイル: esdb.go プロジェクト: jmptrader/esdb
func findIndex(f *os.File) (*sst.Reader, error) {
	// The last 8 bytes in the file is the length
	// of the SSTable spaces index.
	f.Seek(-8, 2)
	indexLen := binary.ReadInt64(f)

	return sst.NewReader(bounded.New(f, -8-indexLen, -8), indexLen)
}
コード例 #2
0
ファイル: space.go プロジェクト: jmptrader/esdb
func findSpaceIndex(r io.ReadSeeker, offset, length int64) (*sst.Reader, error) {
	footerOffset := offset + length - 8

	// The last 8 bytes in the file is the length
	// of the SSTable grouping index.
	r.Seek(footerOffset, 0)
	indexLen := binary.ReadInt64(r)

	return sst.NewReader(bounded.New(r, footerOffset-indexLen, footerOffset), indexLen)
}