Some checks failed
PR Check / check-and-test (pull_request) Failing after 11m4s
- Updated disk_test.go to replace Set and Get with Create and Open methods for better clarity and functionality. - Modified fileinfo.go to include package comment. - Refactored gc.go to streamline garbage collection handling and removed unused statistics. - Updated gc_test.go to comment out large random tests for future implementation. - Enhanced memory.go to implement LRU caching and metrics for memory usage. - Updated memory_test.go to replace Set and Get with Create and Open methods. - Removed sync.go as it was redundant and not utilized. - Updated vfs.go to reflect changes in the VFS interface, replacing Set and Get with Create and Open. - Added package comments to vfserror.go for consistency.
49 lines
696 B
Go
49 lines
696 B
Go
// vfs/fileinfo.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
|
|
}
|