Files
seaweedfs/weed/filer/filerstore.go

40 lines
1.6 KiB
Go
Raw Normal View History

2020-09-01 00:21:19 -07:00
package filer
2018-05-25 23:27:06 -07:00
import (
2019-03-15 15:55:34 -07:00
"context"
"errors"
"github.com/chrislusf/seaweedfs/weed/util"
)
2018-05-25 23:27:06 -07:00
var (
ErrUnsupportedListDirectoryPrefixed = errors.New("unsupported directory prefix listing")
ErrUnsupportedSuperLargeDirectoryListing = errors.New("unsupported super large directory listing")
ErrKvNotImplemented = errors.New("kv not implemented yet")
ErrKvNotFound = errors.New("kv: not found")
)
2018-05-25 23:27:06 -07:00
type FilerStore interface {
// GetName gets the name to locate the configuration in filer.toml file
GetName() string
2018-06-17 13:01:57 -07:00
// Initialize initializes the file store
Initialize(configuration util.Configuration, prefix string) error
2019-03-15 15:55:34 -07:00
InsertEntry(context.Context, *Entry) error
UpdateEntry(context.Context, *Entry) (err error)
2020-09-24 03:06:44 -07:00
// err == filer_pb.ErrNotFound if not found
2020-03-23 00:01:34 -07:00
FindEntry(context.Context, util.FullPath) (entry *Entry, err error)
DeleteEntry(context.Context, util.FullPath) (err error)
DeleteFolderChildren(context.Context, util.FullPath) (err error)
ListDirectoryEntries(ctx context.Context, dirPath util.FullPath, startFileName string, includeStartFile bool, limit int) ([]*Entry, error)
2020-08-05 22:19:16 +05:00
ListDirectoryPrefixedEntries(ctx context.Context, dirPath util.FullPath, startFileName string, includeStartFile bool, limit int, prefix string) ([]*Entry, error)
BeginTransaction(ctx context.Context) (context.Context, error)
CommitTransaction(ctx context.Context) error
RollbackTransaction(ctx context.Context) error
2020-03-14 20:30:26 -07:00
KvPut(ctx context.Context, key []byte, value []byte) (err error)
KvGet(ctx context.Context, key []byte) (value []byte, err error)
KvDelete(ctx context.Context, key []byte) (err error)
2020-03-14 20:30:26 -07:00
Shutdown()
}