gkvdb: github.com/johng-cn/gkvdb/gkvdb/gfilespace Index | Files

package gfilespace

import "github.com/johng-cn/gkvdb/gkvdb/gfilespace"

文件空间管理

Index

Package Files

gfilespace.go gfilespace_api.go

type Block Uses

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

文件空闲块

func (*Block) Index Uses

func (block *Block) Index() int

获得碎片偏移量

func (*Block) Less Uses

func (block *Block) Less(item gbtree.Item) bool

用于B+树的接口具体实现定义

func (*Block) Size Uses

func (block *Block) Size() int

获得碎片大小

type Space Uses

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

文件空间管理结构体

func New Uses

func New() *Space

创建一个空间管理器

func (*Space) AddBlock Uses

func (space *Space) AddBlock(index int, size int)

添加空闲空间到管理器

func (*Space) Contains Uses

func (space *Space) Contains(index int, size int) bool

给定的空间块*整块*是否包含在管理器中

func (*Space) Export Uses

func (space *Space) Export() []byte

导出空间块数据

func (*Space) GetAllBlocks Uses

func (space *Space) GetAllBlocks() []Block

获得所有的碎片空间,按照index升序排序

func (*Space) GetAllSizes Uses

func (space *Space) GetAllSizes() []uint

获得所有的碎片空间大小列表,按照size升序排序

func (*Space) GetBlock Uses

func (space *Space) GetBlock(size int) (int, int)

申请空间,返回文件地址及大小,返回成功后则在管理器中删除该空闲块

func (*Space) GetMaxBlock Uses

func (space *Space) GetMaxBlock() *Block

获取索引最大的空间块

func (*Space) GetMaxSize Uses

func (space *Space) GetMaxSize() int

获取当前空间管理器中最大的空闲块大小

func (*Space) GetMinBlock Uses

func (space *Space) GetMinBlock() *Block

获取索引最小的空间块

func (*Space) Import Uses

func (space *Space) Import(content []byte)

导入空间块数据

func (*Space) Len Uses

func (space *Space) Len() int

获取空间块的数量

func (*Space) RemoveBlock Uses

func (space *Space) RemoveBlock(index int)

删除指定索引位置的空间块

func (*Space) SumSize Uses

func (space *Space) SumSize() int

计算总的空闲空间大小

Package gfilespace imports 3 packages (graph). Updated 2019-03-18. Refresh now. Tools for package owners.