All checks were successful
Release Tag / release (push) Successful in 13s
feat: add upstream support allowing to chain cache servers if needed fix: tweaked garbage collection to be better
48 lines
677 B
Go
48 lines
677 B
Go
package vfs
|
|
|
|
import (
|
|
"os"
|
|
"time"
|
|
)
|
|
|
|
type FileInfo struct {
|
|
name string
|
|
size int64
|
|
MTime time.Time
|
|
ATime time.Time
|
|
}
|
|
|
|
func NewFileInfo(key string, size int64, modTime time.Time) *FileInfo {
|
|
return &FileInfo{
|
|
name: key,
|
|
size: size,
|
|
MTime: modTime,
|
|
ATime: time.Now(),
|
|
}
|
|
}
|
|
|
|
func NewFileInfoFromOS(f os.FileInfo, key string) *FileInfo {
|
|
return &FileInfo{
|
|
name: key,
|
|
size: f.Size(),
|
|
MTime: f.ModTime(),
|
|
ATime: time.Now(),
|
|
}
|
|
}
|
|
|
|
func (f FileInfo) Name() string {
|
|
return f.name
|
|
}
|
|
|
|
func (f FileInfo) Size() int64 {
|
|
return f.size
|
|
}
|
|
|
|
func (f FileInfo) ModTime() time.Time {
|
|
return f.MTime
|
|
}
|
|
|
|
func (f FileInfo) AccessTime() time.Time {
|
|
return f.ATime
|
|
}
|