tree

package
v2.25.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2024 License: Apache-2.0 Imports: 41 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Blobstore

type Blobstore interface {
	Upload(node *node.Node, source string) error
	Download(node *node.Node) (io.ReadCloser, error)
	Delete(node *node.Node) error
}

Blobstore defines an interface for storing blobs in a blobstore

type EventAction added in v2.22.0

type EventAction int
const (
	ActionCreate EventAction = iota
	ActionUpdate
	ActionMove
	ActionDelete
)

type GpfsFileAuditLoggingWatcher added in v2.20.0

type GpfsFileAuditLoggingWatcher struct {
	// contains filtered or unexported fields
}

func NewGpfsFileAuditLoggingWatcher added in v2.20.0

func NewGpfsFileAuditLoggingWatcher(tree *Tree, auditLogFile string) (*GpfsFileAuditLoggingWatcher, error)

func (*GpfsFileAuditLoggingWatcher) Watch added in v2.20.0

func (w *GpfsFileAuditLoggingWatcher) Watch(path string)

type GpfsWatchFolderWatcher added in v2.20.0

type GpfsWatchFolderWatcher struct {
	// contains filtered or unexported fields
}

func NewGpfsWatchFolderWatcher added in v2.20.0

func NewGpfsWatchFolderWatcher(tree *Tree, kafkaBrokers []string) (*GpfsWatchFolderWatcher, error)

func (*GpfsWatchFolderWatcher) Watch added in v2.20.0

func (w *GpfsWatchFolderWatcher) Watch(topic string)

type InotifyWatcher added in v2.20.0

type InotifyWatcher struct {
	// contains filtered or unexported fields
}

func NewInotifyWatcher added in v2.20.0

func NewInotifyWatcher(tree *Tree) *InotifyWatcher

func (*InotifyWatcher) Watch added in v2.20.0

func (iw *InotifyWatcher) Watch(path string)

type PermissionCheckFunc

type PermissionCheckFunc func(rp *provider.ResourcePermissions) bool

PermissionCheckFunc defined a function used to check resource permissions

type ScanDebouncer added in v2.20.0

type ScanDebouncer struct {
	// contains filtered or unexported fields
}

func NewScanDebouncer added in v2.20.0

func NewScanDebouncer(d time.Duration, f func(item scanItem)) *ScanDebouncer

NewScanDebouncer returns a new SpaceDebouncer instance

func (*ScanDebouncer) Debounce added in v2.20.0

func (d *ScanDebouncer) Debounce(item scanItem)

Debounce restarts the debounce timer for the given space

func (*ScanDebouncer) InProgress added in v2.22.0

func (d *ScanDebouncer) InProgress(path string) bool

InProgress returns true if the given path is currently being processed

type Tree

type Tree struct {
	// contains filtered or unexported fields
}

Tree manages a hierarchical tree

func New

func New(lu node.PathLookup, bs Blobstore, um usermapper.Mapper, trashbin *trashbin.Trashbin, o *options.Options, es events.Stream, cache store.Store) (*Tree, error)

New returns a new instance of Tree

func (*Tree) BuildSpaceIDIndexEntry added in v2.20.0

func (t *Tree) BuildSpaceIDIndexEntry(spaceID, nodeID string) string

BuildSpaceIDIndexEntry returns the entry for the space id index

func (*Tree) CreateDir

func (t *Tree) CreateDir(ctx context.Context, n *node.Node) (err error)

CreateDir creates a new directory entry in the tree

func (*Tree) Delete

func (t *Tree) Delete(ctx context.Context, n *node.Node) error

Delete deletes a node in the tree by moving it to the trash

func (*Tree) DeleteBlob

func (t *Tree) DeleteBlob(node *node.Node) error

DeleteBlob deletes a blob from the blobstore

func (*Tree) GetMD

func (t *Tree) GetMD(ctx context.Context, n *node.Node) (os.FileInfo, error)

GetMD returns the metadata of a node in the tree

func (*Tree) HandleFileDelete added in v2.21.0

func (t *Tree) HandleFileDelete(path string) error

func (*Tree) InitNewNode added in v2.20.0

func (t *Tree) InitNewNode(ctx context.Context, n *node.Node, fsize uint64) (metadata.UnlockFunc, error)

InitNewNode initializes a new node

func (*Tree) ListFolder

func (t *Tree) ListFolder(ctx context.Context, n *node.Node) ([]*node.Node, error)

ListFolder lists the content of a folder node

func (*Tree) Move

func (t *Tree) Move(ctx context.Context, oldNode *node.Node, newNode *node.Node) (err error)

Move replaces the target with the source

func (*Tree) Propagate

func (t *Tree) Propagate(ctx context.Context, n *node.Node, _ int64) (err error)

Propagate propagates changes to the root of the tree

func (*Tree) PublishEvent added in v2.21.0

func (t *Tree) PublishEvent(ev interface{})

func (*Tree) PurgeRecycleItemFunc

func (t *Tree) PurgeRecycleItemFunc(ctx context.Context, spaceid, key string, path string) (*node.Node, func() error, error)

PurgeRecycleItemFunc returns a node and a function to purge it from the trash

func (*Tree) ReadBlob

func (t *Tree) ReadBlob(node *node.Node) (io.ReadCloser, error)

ReadBlob reads a blob from the blobstore

func (*Tree) ResolveSpaceIDIndexEntry added in v2.20.0

func (t *Tree) ResolveSpaceIDIndexEntry(spaceid, entry string) (string, string, error)

ResolveSpaceIDIndexEntry returns the node id for the space id index entry

func (*Tree) RestoreRecycleItemFunc

func (t *Tree) RestoreRecycleItemFunc(ctx context.Context, spaceid, key, trashPath string, targetNode *node.Node) (*node.Node, *node.Node, func() error, error)

RestoreRecycleItemFunc returns a node and a function to restore it from the trash.

func (*Tree) Scan added in v2.20.0

func (t *Tree) Scan(path string, action EventAction, isDir bool, recurse bool) error

Scan scans the given path and updates the id chache

func (*Tree) Setup

func (t *Tree) Setup() error

Setup prepares the tree structure

func (*Tree) TouchFile

func (t *Tree) TouchFile(ctx context.Context, n *node.Node, markprocessing bool, mtime string) error

TouchFile creates a new empty file

func (*Tree) WarmupIDCache added in v2.20.0

func (t *Tree) WarmupIDCache(root string, assimilate bool) error

WarmupIDCache warms up the id cache

func (*Tree) WriteBlob

func (t *Tree) WriteBlob(node *node.Node, source string) error

WriteBlob writes a blob to the blobstore

type Watcher added in v2.20.0

type Watcher interface {
	Watch(path string)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL