Documentation
¶
Index ¶
- func PathExists(path string) (bool, error)
- func ReverseHashOrder(hash []byte) []byte
- type HashTreeDB
- type HashTreeDBConfig
- type MemoryStorageDB
- func (ms *MemoryStorageDB) Clean()
- func (ms *MemoryStorageDB) Delete(realkey []byte)
- func (ms *MemoryStorageDB) Exist(realkey []byte) bool
- func (ms *MemoryStorageDB) Len() int
- func (ms *MemoryStorageDB) Read(realkey []byte) ([]byte, bool)
- func (ms *MemoryStorageDB) Save(realkey []byte, value []byte)
- type MemoryStorageItem
- type QueryInstance
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PathExists ¶
func ReverseHashOrder ¶
Types ¶
type HashTreeDB ¶
type HashTreeDB struct { // db in memory MemoryStorageDB *MemoryStorageDB // db in memory LevelDB *leveldb.DB // contains filtered or unexported fields }
func (*HashTreeDB) Close ¶
func (db *HashTreeDB) Close() error
fresh size config
func (db *HashTreeDB) freshRecordDataSize() { if int(db.config.KeyPrefixSupplement)+int(db.config.KeySize) > 32 { panic("KeyPrefixSupplement + KeySize not more than 32.") } db.config.hashSize = db.config.KeyPrefixSupplement + db.config.KeySize // markSize? + KeySize + SupplementalMaxValueSize db.config.segmentValueSize = 0 if db.config.SaveMarkBeforeValue { db.config.segmentValueSize += uint32(1) } db.config.segmentValueSize += uint32(db.config.KeySize) + db.config.SupplementalMaxValueSize }
close
func (*HashTreeDB) CreateNewQueryInstance ¶
func (db *HashTreeDB) CreateNewQueryInstance(key []byte) (*QueryInstance, error)
Create execution unit
func (*HashTreeDB) GetOrCreateLevelDBwithPanic ¶
func (db *HashTreeDB) GetOrCreateLevelDBwithPanic() *leveldb.DB
Get or create a level dB object
func (*HashTreeDB) TraversalCopy ¶
func (this *HashTreeDB) TraversalCopy(target *HashTreeDB) error
type HashTreeDBConfig ¶
type HashTreeDBConfig struct { // MemoryStorage MemoryStorage bool // Save data in memory // LevelDB LevelDB bool // Save data using level dB // size KeySize uint8 // Key value length < = 32 SupplementalMaxValueSize uint32 // Data content length // file config //FileDividePartitionLevel uint8 // 文件分区层级 0为不分区 FileAbsPath string // File storage path }
func NewHashTreeDBConfig ¶
func NewHashTreeDBConfig( fileAbsPath string, mustMinValueSize uint32, keySize uint8, ) *HashTreeDBConfig
type MemoryStorageDB ¶
type MemoryStorageDB struct { Datas map[string]*MemoryStorageItem // contains filtered or unexported fields }
func NewMemoryStorageDB ¶
func NewMemoryStorageDB() *MemoryStorageDB
type MemoryStorageItem ¶
type QueryInstance ¶
type QueryInstance struct {
// contains filtered or unexported fields
}
func (*QueryInstance) Find ¶
func (ins *QueryInstance) Find() ([]byte, error)
*
- search index file and get the item part
func (*QueryInstance) Save ¶
func (ins *QueryInstance) Save(valuedatas []byte) error
*
- Save Value
func (ins *QueryInstance) Save(valuedatas []byte) (ValueSegmentOffset uint32, err error) {
Click to show internal directories.
Click to hide internal directories.