fscfg

package
v2.0.15 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DbFile  = "database.db"
	Version = "0.0.1"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Option

type Option func(*Options) error

Option 定义了一个函数类型,用于配置 BPFS

func WithBucketSize

func WithBucketSize(size int) Option

WithBucketSize 设置路由表桶的大小 参数:

  • size int: 要设置的桶大小

返回值:

  • Option: 返回一个配置函数,用于设置路由表桶的大小

func WithDataShards

func WithDataShards(count int64) Option

WithDataShards 设置文件数据片段的���量 参数:

  • count int64: 要设置的数据片段数量

返回值:

  • Option: 返回一个配置函数,用于设置数据片段数量

func WithDefaultBufSize

func WithDefaultBufSize(size int64) Option

WithDefaultBufSize 设置常用缓冲区的大小 参数:

  • size int64: 要设置的缓冲区大小(字节)

返回值:

  • Option: 返回一个配置函数,用于设置默认缓冲区大小

func WithDefaultFileKey

func WithDefaultFileKey(key string) Option

WithDefaultFileKey 设置默认文件密钥 参数:

  • key string: 要设置的默认文件密钥

返回值:

  • Option: 返回一个配置函数,用于设置默认文件密钥

func WithDefaultOwnerPriv

func WithDefaultOwnerPriv(key *ecdsa.PrivateKey) Option

WithDefaultOwnerPriv 设置默认所有者私钥 参数:

  • key *ecdsa.PrivateKey: 要设置的默认所有者私钥

返回值:

  • Option: 返回一个配置函数,用于设置默认所有者私钥

func WithDownloadMaximumSize

func WithDownloadMaximumSize(size int64) Option

WithDownloadMaximumSize 设置下载最大回复大小 参数:

  • size int64: 要设置的最大回复大小(字节)

返回值:

  • Option: 返回一个配置函数,用于设置最大回复大小

func WithDownloadPath

func WithDownloadPath(path string) Option

WithDownloadPath 设置下载路径 参数:

  • path string: 要设置的下载路径

返回值:

  • Option: 返回一个配置函数,用于设置下载路径

func WithLocalStorage

func WithLocalStorage(enable bool) Option

WithLocalStorage 设置是否开启本地存储 参数:

  • enable bool: 是否启用本地存储

返回值:

  • Option: 返回一个配置函数,用于设置本地存储开关

func WithMaxBufferSize

func WithMaxBufferSize(size int64) Option

WithMaxBufferSize 设置最大缓冲区的大小 参数:

  • size int64: 要设置的最大缓冲区大小(字节)

返回值:

  • Option: 返回一个配置函数,用于设置最大缓冲区大小

func WithMaxConcurrentDownloads

func WithMaxConcurrentDownloads(count int64) Option

WithMaxConcurrentDownloads 设置最大并发下载数量 参数:

  • count int64: 要设置的最大并发下载数量

返回值:

  • Option: 返回一个配置函数,用于设置最大并发下载数量

func WithMaxConcurrentUploads

func WithMaxConcurrentUploads(count int64) Option

WithMaxConcurrentUploads 设置最大并发上传数量 参数:

  • count int64: 要设置的最大并发上传数量

返回值:

  • Option: 返回一个配置函数,用于设置最大并发上传数量

func WithMaxPeersPerCpl

func WithMaxPeersPerCpl(count int) Option

WithMaxPeersPerCpl 设置每个CPL值允许的最大节点数 参数:

  • count int: 要设置的最大节点数

返回值:

  • Option: 返回一个配置函数,用于设置每个CPL的最大节点数

func WithMaxRetries

func WithMaxRetries(count int64) Option

WithMaxRetries 设置最大重试次数 参数:

  • count int64: 要设置的最大重试次数

返回值:

  • Option: 返回一个配置函数,用于设置最大重试次数

func WithMaxSliceSize

func WithMaxSliceSize(size int64) Option

WithMaxSliceSize 设置最大片段的大小 参数:

  • size int64: 要设置的最大片段大小(字节)

返回值:

  • Option: 返回一个配置函数,用于设置最大片段大小

func WithMaxUploadRetries

func WithMaxUploadRetries(count int) Option

WithMaxUploadRetries 设置上传失败时的最大重试次数 参数:

  • count int: 要设置的最大重试次数

返回值:

  • Option: 返回一个配置函数,用于设置最大重试次数

func WithMaxUploadSize

func WithMaxUploadSize(size int64) Option

WithMaxUploadSize 设置最大上传大小 参数:

  • size int64: 要设置的最大上传大小(字节)

返回值:

  • Option: 返回一个配置函数,用于设置最大上传大小

func WithMaxXrefTable

func WithMaxXrefTable(count int64) Option

WithMaxXrefTable 设置Xref表中段的最大数量 参数:

  • count int64: 要设置的最大段数量

返回值:

  • Option: 返回一个配置函数,用于设置最大段数量

func WithMinDownloadServerNodes

func WithMinDownloadServerNodes(count int) Option

WithMinDownloadServerNodes 设置下载所需最小服务端节点数 参数:

  • count int: 要设置的最小节点数

返回值:

  • Option: 返回一个配置函数,用于设置最小服务端节点数

func WithMinSliceSize

func WithMinSliceSize(size int64) Option

WithMinSliceSize 设置最小片段的大小 参数:

  • size int64: 要设置的最小片段大小(字节)

返回值:

  • Option: 返回一个配置函数,用于设置最小片段大小

func WithMinUploadServerNodes

func WithMinUploadServerNodes(count int) Option

WithMinUploadServerNodes 设置上传所需最小服务端节点数 参数:

  • count int: 要设置的最小节点数

返回值:

  • Option: 返回一个配置函数,用于设置最小服务端节点数

func WithMinUploadSize

func WithMinUploadSize(size int64) Option

WithMinUploadSize 设置最小上传大小 参数:

  • size int64: 要设置的最小上传大小(字节)

返回值:

  • Option: 返回一个配置函数,用于设置最小上传大小

func WithNodePubSub

func WithNodePubSub(nps *pubsub.NodePubSub) Option

WithNodePubSub 设置发布订阅系统实例 参数:

  • nps *pubsub.NodePubSub: 要设置的发布订阅系统实例

返回值:

  • Option: 返回一个配置函数,用于设置发布订阅系统实例

func WithParityRatio

func WithParityRatio(ratio float64) Option

WithParityRatio 设置奇偶校段占比 参数:

  • ratio float64: 要设置的校验片段占比

返回值:

  • Option: 返回一个配置函数,用于设置校验片段占比

func WithParityShards

func WithParityShards(count int64) Option

WithParityShards 设置奇偶校验片段的数量 参数:

  • count int64: 要设置的校验片段数量

返回值:

  • Option: 返回一个配置函数,用于设置校验片段数量

func WithPubSubOption

func WithPubSubOption(opt pubsub.NodeOption) Option

WithPubSubOption 添加 PubSub 配置选项 参数:

  • opt pubsub.NodeOption: 要添加的 PubSub 配置选项

返回值:

  • Option: 返回一个配置函数,用于设置 PubSub 选项

func WithRetryInterval

func WithRetryInterval(interval time.Duration) Option

WithRetryInterval 设置重试间隔 参数:

  • interval time.Duration: 要设置的重试间隔时间

返回值:

  • Option: 返回一个配置函数,用于设置重试间隔

func WithRootPath

func WithRootPath(path string) Option

WithRootPath 设置文件根路径 参数:

  • path string: 要设置的根路径

返回值:

  • Option: 返回一个配置函数,用于设置根路径

func WithRoutingTableLow

func WithRoutingTableLow(count int64) Option

WithRoutingTableLow 设置路由表中连接的最小节点数量 参数:

  • count int64: 要设置的最小节点数量

返回值:

  • Option: 返回一个配置函数,用于设置最小节点数量

func WithShardSize

func WithShardSize(size int64) Option

WithShardSize 设置文件片段的大小 参数:

  • size int64: 要设置的片段大小(字节)

返回值:

  • Option: 返回一个配置函数,用于设置片段大小

func WithStorageMode

func WithStorageMode(mode StorageMode) Option

WithStorageMode 设置存储模式 参数:

  • mode StorageMode: 要设置的存储模式

返回值:

  • Option: 返回一个配置函数,用于设置存储模式

type Options

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

Options 是用于创建文件存储对象的参数

func DefaultOptions

func DefaultOptions() *Options

DefaultOptions 设置一个推荐选项列表以获得良好的性能。

func (*Options) ApplyOptions

func (opt *Options) ApplyOptions(opts ...Option) error

ApplyOptions 应用给定的选项到 Options 对象 参数:

  • opts: 可变参数,包含多个选项函数

返回值:

  • error: 应用选项过程中的错误信息

func (*Options) GetBucketSize

func (opt *Options) GetBucketSize() int

GetBucketSize 获取路由表桶的大小 返回值:

  • int: 路由表桶的大小,如未设置则返回默认值20

func (*Options) GetDataShards

func (opt *Options) GetDataShards() int64

GetDataShards ��取文件数据片段的数量 返回值:

  • int64: 数据片段数量

func (*Options) GetDefaultBufSize

func (opt *Options) GetDefaultBufSize() int64

GetDefaultBufSize 获取常用缓冲区的大小 返回值:

  • int64: 默认缓冲区大小(字节)

func (*Options) GetDefaultFileKey

func (opt *Options) GetDefaultFileKey() string

GetDefaultFileKey 获取默认文件密钥 返回值:

  • string: 默认文件加密密钥

func (*Options) GetDefaultOwnerPriv

func (opt *Options) GetDefaultOwnerPriv() *ecdsa.PrivateKey

GetDefaultOwnerPriv 获取默认所有者私钥 返回值:

  • *ecdsa.PrivateKey: 默认所有者的ECDSA私钥

func (*Options) GetDownloadMaximumSize

func (opt *Options) GetDownloadMaximumSize() int64

GetDownloadMaximumSize 获取下载最大回复大小 返回值:

  • int64: 最大下载大小(字节)

func (*Options) GetDownloadPath

func (opt *Options) GetDownloadPath() string

GetDownloadPath 获取下载路径 返回值:

  • string: 文件下载保存路径

func (*Options) GetLocalStorage

func (opt *Options) GetLocalStorage() bool

GetLocalStorage 获取是否开启本地存储 返回值:

  • bool: true表示使用本地存储,false表示不使用

func (*Options) GetMaxBufferSize

func (opt *Options) GetMaxBufferSize() int64

GetMaxBufferSize 获取最大缓冲的大小 返回值:

  • int64: 最大缓冲区大小(字节)

func (*Options) GetMaxConcurrentDownloads

func (opt *Options) GetMaxConcurrentDownloads() int64

GetMaxConcurrentDownloads 获取最大并发下载数量 返回值:

  • int64: 允许同时进行的最大下载任务数

func (*Options) GetMaxConcurrentUploads

func (opt *Options) GetMaxConcurrentUploads() int64

GetMaxConcurrentUploads 获取最大并发上传数量 返回值:

  • int64: 允许同时进行的最大上传任务数

func (*Options) GetMaxPeersPerCpl

func (opt *Options) GetMaxPeersPerCpl() int

GetMaxPeersPerCpl 获取每个CPL值允许的最大节点数 返回值:

  • int: 每个CPL值允许的最大节点数,如未设置则返回默认值3

func (*Options) GetMaxRetries

func (opt *Options) GetMaxRetries() int64

GetMaxRetries 获取最大重试次数 返回值:

  • int64: 操作失败时的最大重试次数

func (*Options) GetMaxSliceSize

func (opt *Options) GetMaxSliceSize() int64

GetMaxSliceSize 获取最大片段的大小 返回值:

  • int64: 最大片段大小(字节)

func (*Options) GetMaxUploadRetries

func (opt *Options) GetMaxUploadRetries() int

GetMaxUploadRetries 获取上传失败时的最大重试次数 返回值:

  • int: 上传失败后的最大重试次数

func (*Options) GetMaxUploadSize

func (opt *Options) GetMaxUploadSize() int64

GetMaxUploadSize 获取最大上传大小 返回值:

  • int64: 单个文件最大上传大小(字节)

func (*Options) GetMaxXrefTable

func (opt *Options) GetMaxXrefTable() int64

GetMaxXrefTable 获取Xref表中段的最大数量 返回值:

  • int64: 交叉引用表最大条目数

func (*Options) GetMinDownloadServerNodes

func (opt *Options) GetMinDownloadServerNodes() int

GetMinDownloadServerNodes 获取下载所需最小服务端节点数 返回值:

  • int: 下载操作所需的最小服务端节点数量

func (*Options) GetMinSliceSize

func (opt *Options) GetMinSliceSize() int64

GetMinSliceSize 获取最小片段的大小 返回值:

  • int64: 最小片段大小(字节)

func (*Options) GetMinUploadServerNodes

func (opt *Options) GetMinUploadServerNodes() int

GetMinUploadServerNodes 获取上传所需最小服务端节点数 返回值:

  • int: 上传操作所需的最小服务端节点数量

func (*Options) GetMinUploadSize

func (opt *Options) GetMinUploadSize() int64

GetMinUploadSize 获取最小上传大小 返回值:

  • int64: 单个文件最小上传大小(字节)

func (*Options) GetNodePubSub

func (opt *Options) GetNodePubSub() *pubsub.NodePubSub

GetNodePubSub 获取发布订阅系统实例 返回值:

  • *pubsub.NodePubSub: 发布订阅系统实例指针

func (*Options) GetParityRatio

func (opt *Options) GetParityRatio() float64

GetParityRatio 获取奇偶校验片段占比 返回值:

  • float64: 校验片段占比(0-1之间的小数)

func (*Options) GetParityShards

func (opt *Options) GetParityShards() int64

GetParityShards 获取奇偶校验片段的数量 返回值:

  • int64: 校验片段数量

func (*Options) GetPubSubOptions

func (opt *Options) GetPubSubOptions() []pubsub.NodeOption

GetPubSubOptions 获取所有 PubSub 配置选项 返回值:

  • []pubsub.NodeOption: PubSub节点配置选项列表

func (*Options) GetRetryInterval

func (opt *Options) GetRetryInterval() time.Duration

GetRetryInterval 获取重试间隔 返回值:

  • time.Duration: 重试操作的时间间隔

func (*Options) GetRootPath

func (opt *Options) GetRootPath() string

GetRootPath 获取文件根路径 返回值:

  • string: 文件系统根路径

func (*Options) GetRoutingTableLow

func (opt *Options) GetRoutingTableLow() int64

GetRoutingTableLow 获取路由表中连接的最小节点数量 返回值:

  • int64: 路由表最小节点数

func (*Options) GetShardSize

func (opt *Options) GetShardSize() int64

GetShardSize 获取文件片段的大小 返回值:

  • int64: 片段大小(字节)

func (*Options) GetStorageMode

func (opt *Options) GetStorageMode() StorageMode

GetStorageMode 获取存储模式 返回值:

  • StorageMode: 当前的存储模式

type StorageMode

type StorageMode int

存储模式

const (
	FileMode      StorageMode = iota // 文件模式
	SliceMode                        // 切片模式,将文件分割成有限个切片(不使用纠删码)
	RS_Size                          // 纠删码(大小)模式
	RS_Proportion                    // 纠删码(比例)模式
)

Jump to

Keyboard shortcuts

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