package serverconfigs import "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" type CacheDir struct { Path string `yaml:"path" json:"path"` // 目录 Capacity *shared.SizeCapacity `yaml:"capacity" json:"capacity"` // 容量限制 TODO 暂时不实现 } // HTTPFileCacheStorage 文件缓存存储策略 type HTTPFileCacheStorage struct { Dir string `yaml:"dir" json:"dir"` // 目录 MinFreeSize *shared.SizeCapacity `yaml:"minFreeSize" json:"minFreeSize"` // 最小剩余空间 SubDirs []*CacheDir `yaml:"cacheDir" json:"subDirs"` // 子目录 MemoryPolicy *HTTPCachePolicy `yaml:"memoryPolicy" json:"memoryPolicy"` // 内存二级缓存 OpenFileCache *OpenFileCacheConfig `yaml:"openFileCache" json:"openFileCache"` // open file cache配置 EnableSendfile bool `yaml:"enableSendFile" json:"enableSendfile"` // 是否启用Sendfile EnableMMAP bool `yaml:"enableMMAP" json:"enableMMAP"` // 是否启用MMAP } func NewHTTPFileCacheStorage() *HTTPFileCacheStorage { return &HTTPFileCacheStorage{ EnableMMAP: false, } } func (this *HTTPFileCacheStorage) Init() error { if this.OpenFileCache != nil { err := this.OpenFileCache.Init() if err != nil { return err } } if this.MemoryPolicy != nil { err := this.MemoryPolicy.Init() if err != nil { return err } } return nil }