diff options
Diffstat (limited to 'weed/filer2/filer_structure.go')
| -rw-r--r-- | weed/filer2/filer_structure.go | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/weed/filer2/filer_structure.go b/weed/filer2/filer_structure.go deleted file mode 100644 index 7a5dc3d8d..000000000 --- a/weed/filer2/filer_structure.go +++ /dev/null @@ -1,79 +0,0 @@ -package filer2 - -import ( - "errors" - "os" - "time" - "path/filepath" - "github.com/chrislusf/seaweedfs/weed/pb/filer_pb" - "strings" -) - -type FullPath string - -func NewFullPath(dir, name string) FullPath { - if strings.HasSuffix(dir, "/") { - return FullPath(dir + name) - } - return FullPath(dir + "/" + name) -} - -func (fp FullPath) DirAndName() (string, string) { - dir, name := filepath.Split(string(fp)) - if dir == "/" { - return dir, name - } - if len(dir) < 1 { - return "/", "" - } - return dir[:len(dir)-1], name -} - -func (fp FullPath) Name() (string) { - _, name := filepath.Split(string(fp)) - return name -} - -type Attr struct { - Mtime time.Time // time of last modification - Crtime time.Time // time of creation (OS X only) - Mode os.FileMode // file mode - Uid uint32 // owner uid - Gid uint32 // group gid -} - -func (attr Attr) IsDirectory() (bool) { - return attr.Mode&os.ModeDir > 0 -} - -type Entry struct { - FullPath - - Attr - - // the following is for files - Chunks []*filer_pb.FileChunk `json:"chunks,omitempty"` -} - -func (entry Entry) Size() uint64 { - return TotalSize(entry.Chunks) -} - -func (entry Entry) Timestamp() time.Time { - if entry.IsDirectory() { - return entry.Crtime - } else { - return entry.Mtime - } -} - -var ErrNotFound = errors.New("filer: no entry is found in filer store") - -type FilerStore interface { - InsertEntry(*Entry) (error) - UpdateEntry(*Entry) (err error) - FindEntry(FullPath) (found bool, entry *Entry, err error) - DeleteEntry(FullPath) (fileEntry *Entry, err error) - - ListDirectoryEntries(dirPath FullPath, startFileName string, inclusive bool, limit int) ([]*Entry, error) -} |
