package config

import "time"

type Config struct {
	Enabled    bool   `json:"enabled"`
	MountPoint string `json:"mountPoint"`
	GID        uint32 `json:"gid"`
	UID        uint32 `json:"uid"`
	// 缓存数据的目录，可以是已有内容的目录，此时通过挂载点查看文件夹内容时，能看到此目录中已有的文件。
	DataDir string `json:"dataDir"`
	// 缓存元数据的目录，此目录中保存了文件的元数据，包括文件名、大小、修改时间、权限等信息，目录结构将与DataDir保持一致。
	MetaDir     string        `json:"metaDir"`
	AttrTimeout time.Duration `json:"attrTimeout"`
	// 被修改的文件在被上传到云端之前的等待时间，如果期间有任何读写操作，则重置等待时间
	UploadPendingTime time.Duration `json:"uploadPendingTime"`
	// 被加载到内存的缓存文件信息的过期时间，如果文件在此时间内没有被访问过，则从缓存中删除
	CacheActiveTime time.Duration `json:"cacheActiveTime"`
	// 缓存数据的过期时间，如果文件在此时间内没有被访问过，则从本地删除缓存数据
	CacheExpireTime time.Duration `json:"cacheExpireTime"`
	// 扫描DataDir目录的间隔时间。
	ScanDataDirInterval time.Duration `json:"scanDataDirInterval"`
}
