package rpc import ( "os" "time" ) func NewFileInfo(fi os.FileInfo) *fileInfo { if fi == nil { return nil } return &fileInfo{N: fi.Name(), S: fi.Size(), M: fi.Mode(), T: fi.ModTime()} } type fileInfo struct { N string S int64 M os.FileMode T time.Time } func (fi fileInfo) Name() string { return fi.N } func (fi fileInfo) Size() int64 { return fi.S } func (fi fileInfo) Mode() os.FileMode { return fi.M } func (fi fileInfo) ModTime() time.Time { if fi.T.IsZero() { return time.Now() } return fi.T } func (fi fileInfo) IsDir() bool { return fi.M.IsDir() } func (fi fileInfo) Sys() interface{} { return nil }