volumedb

package
v0.0.0-...-303e327 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 22, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DecodeVid

func DecodeVid(b []byte) proto.Vid

func EncodeVid

func EncodeVid(vid proto.Vid) []byte

Types

type TokenRecord

type TokenRecord struct {
	Vid        proto.Vid
	TokenID    string
	ExpireTime int64
}

type TransitedTable

type TransitedTable struct {
	// contains filtered or unexported fields
}

func OpenTransitedTable

func OpenTransitedTable(db kvstore.KVStore) (*TransitedTable, error)

func (*TransitedTable) DeleteVolumeAndUnits

func (t *TransitedTable) DeleteVolumeAndUnits(vol *VolumeRecord, volumeUnitsRecs []*VolumeUnitRecord) error

func (*TransitedTable) GetVolumeUnit

func (t *TransitedTable) GetVolumeUnit(vuidPrefix proto.VuidPrefix) (ret *VolumeUnitRecord, err error)

func (*TransitedTable) PutVolumeAndVolumeUnit

func (t *TransitedTable) PutVolumeAndVolumeUnit(vol *VolumeRecord, volumeUnitsRecs []*VolumeUnitRecord) (err error)

func (*TransitedTable) PutVolumeUnits

func (t *TransitedTable) PutVolumeUnits(units []*VolumeUnitRecord) (err error)

func (*TransitedTable) RangeVolume

func (t *TransitedTable) RangeVolume(f func(Record *VolumeRecord) error) (err error)

type VolumeDB

type VolumeDB struct {
	kvstore.KVStore
}

func Open

func Open(path string, isSync bool, dbOpts ...kvstore.DbOptions) (*VolumeDB, error)

func (*VolumeDB) GetAllCfNames

func (v *VolumeDB) GetAllCfNames() []string

type VolumeRecord

type VolumeRecord struct {
	Vid            proto.Vid
	VuidPrefixs    []proto.VuidPrefix
	CodeMode       codemode.CodeMode
	HealthScore    int
	Status         proto.VolumeStatus
	Total          uint64
	Free           uint64
	Used           uint64
	CreateByNodeID uint64
}

type VolumeTable

type VolumeTable struct {
	// contains filtered or unexported fields
}

func OpenVolumeTable

func OpenVolumeTable(db kvstore.KVStore) (*VolumeTable, error)

func (*VolumeTable) DeleteTaskRecord

func (t *VolumeTable) DeleteTaskRecord(vid proto.Vid) error

func (*VolumeTable) DeleteToken

func (t *VolumeTable) DeleteToken(vid proto.Vid) (err error)

func (*VolumeTable) GetAllTokens

func (t *VolumeTable) GetAllTokens() (ret []*TokenRecord, err error)

func (*VolumeTable) GetToken

func (t *VolumeTable) GetToken(vid proto.Vid) (ret *TokenRecord, err error)

func (*VolumeTable) GetVolume

func (t *VolumeTable) GetVolume(vid proto.Vid) (ret *VolumeRecord, err error)

func (*VolumeTable) GetVolumeUnit

func (v *VolumeTable) GetVolumeUnit(vuidPrefix proto.VuidPrefix) (ret *VolumeUnitRecord, err error)

func (*VolumeTable) ListTaskRecords

func (t *VolumeTable) ListTaskRecords(f func(rec *VolumeTaskRecord) bool) (err error)

func (*VolumeTable) ListVolume

func (v *VolumeTable) ListVolume(count int, afterVid proto.Vid) (ret []proto.Vid, err error)

func (*VolumeTable) ListVolumeUnit

func (v *VolumeTable) ListVolumeUnit(diskID proto.DiskID) (ret []proto.VuidPrefix, err error)

func (*VolumeTable) PutToken

func (t *VolumeTable) PutToken(vid proto.Vid, token *TokenRecord) (err error)

func (*VolumeTable) PutTokens

func (t *VolumeTable) PutTokens(tokens []*TokenRecord) (err error)

func (*VolumeTable) PutVolumeAndTask

func (t *VolumeTable) PutVolumeAndTask(volRec *VolumeRecord, taskRec *VolumeTaskRecord) error

func (*VolumeTable) PutVolumeAndToken

func (v *VolumeTable) PutVolumeAndToken(volumeRecs []*VolumeRecord, tokens []*TokenRecord) (err error)

func (*VolumeTable) PutVolumeAndVolumeUnit

func (v *VolumeTable) PutVolumeAndVolumeUnit(volumeRecs []*VolumeRecord, volumeUnitsRecs [][]*VolumeUnitRecord) (err error)

func (*VolumeTable) PutVolumeRecord

func (t *VolumeTable) PutVolumeRecord(rec *VolumeRecord) (err error)

func (*VolumeTable) PutVolumeRecords

func (v *VolumeTable) PutVolumeRecords(recs []*VolumeRecord) (err error)

func (*VolumeTable) PutVolumeUnit

func (v *VolumeTable) PutVolumeUnit(vuidPrefix proto.VuidPrefix, unitRecord *VolumeUnitRecord) (err error)

func (*VolumeTable) PutVolumeUnits

func (v *VolumeTable) PutVolumeUnits(units []*VolumeUnitRecord) (err error)

func (*VolumeTable) PutVolumes

func (v *VolumeTable) PutVolumes(volumeRecs []*VolumeRecord, volumeUnitsRecs [][]*VolumeUnitRecord, tokens []*TokenRecord) (err error)

putVolumes:put volumeRecords volumeUnitRecords and tokenRecords at once

func (*VolumeTable) RangeVolumeRecord

func (v *VolumeTable) RangeVolumeRecord(f func(Record *VolumeRecord) error) (err error)

func (*VolumeTable) RangeVolumeUnits

func (v *VolumeTable) RangeVolumeUnits(f func(unitRecord *VolumeUnitRecord)) (err error)

func (*VolumeTable) UpdateVolumeUnit

func (v *VolumeTable) UpdateVolumeUnit(vuidPrefix proto.VuidPrefix, unitRecord *VolumeUnitRecord) (err error)

type VolumeTaskRecord

type VolumeTaskRecord struct {
	Vid      proto.Vid
	TaskType base.VolumeTaskType
	TaskId   string
}

type VolumeUnitRecord

type VolumeUnitRecord struct {
	VuidPrefix proto.VuidPrefix
	Epoch      uint32
	NextEpoch  uint32
	DiskID     proto.DiskID
	Free       uint64
	Total      uint64
	Used       uint64
	Compacting bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL