varasto: github.com/function61/varasto/pkg/stofuse Index | Files | Directories

package stofuse

import "github.com/function61/varasto/pkg/stofuse"

FUSE adapter for interfacing with Varasto from filesystem

Index

Package Files

blobcache.go collectionadapter.go collectionbyiddir.go entrypoint.go restapi.go server.go types.go utils.go

func Entrypoint Uses

func Entrypoint() *cobra.Command

func NewByIdDir Uses

func NewByIdDir(srv *FsServer) *byIdDir

type BlobCache Uses

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

func NewBlobCache Uses

func NewBlobCache(clientConfig stoclient.ClientConfig, logl *logex.Leveled) *BlobCache

func (*BlobCache) Get Uses

func (b *BlobCache) Get(ctx context.Context, ref stotypes.BlobRef, collectionId string) (*BlobData, error)

type BlobData Uses

type BlobData struct {
    Ref  stotypes.BlobRef
    Data []byte
}

type CollectionAsDir Uses

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

func NewCollectionAsDir Uses

func NewCollectionAsDir(name string, inode uint64, files []*CollectionAsDirFile, subdirs []*CollectionAsDir) *CollectionAsDir

func (CollectionAsDir) Attr Uses

func (d CollectionAsDir) Attr(ctx context.Context, a *fuse.Attr) error

func (CollectionAsDir) Lookup Uses

func (d CollectionAsDir) Lookup(ctx context.Context, name string) (fs.Node, error)

func (CollectionAsDir) ReadDirAll Uses

func (d CollectionAsDir) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error)

type CollectionAsDirFile Uses

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

func NewCollectionAsDirFile Uses

func NewCollectionAsDirFile(
    name string,
    inode uint64,
    file stotypes.File,
    collectionId string,
    srv *FsServer,
) *CollectionAsDirFile

func (CollectionAsDirFile) Attr Uses

func (f CollectionAsDirFile) Attr(ctx context.Context, attrs *fuse.Attr) error

func (CollectionAsDirFile) Read Uses

func (f CollectionAsDirFile) Read(ctx context.Context, req *fuse.ReadRequest, resp *fuse.ReadResponse) error

type DirContract Uses

type DirContract interface {
    fs.Node
    fs.NodeStringLookuper
}

type FileCustomInterface Uses

type FileCustomInterface interface {
    fs.Node
    fs.HandleReader
}

we don't strictly need this, but it's easier to grasp what the interface is since the design of Bazil is so mix-n-match

type FsServer Uses

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

func NewFsServer Uses

func NewFsServer(clientConfig stoclient.ClientConfig, logl *logex.Leveled) *FsServer

type VarastoFSRoot Uses

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

func NewVarastoFSRoot Uses

func NewVarastoFSRoot(byIdDir *byIdDir, srv *FsServer) (*VarastoFSRoot, error)

func (*VarastoFSRoot) Attr Uses

func (v *VarastoFSRoot) Attr(ctx context.Context, a *fuse.Attr) error

func (*VarastoFSRoot) Lookup Uses

func (v *VarastoFSRoot) Lookup(ctx context.Context, name string) (fs.Node, error)

func (*VarastoFSRoot) ReadDirAll Uses

func (v *VarastoFSRoot) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error)

func (*VarastoFSRoot) Root Uses

func (v *VarastoFSRoot) Root() (fs.Node, error)

implements fs.FS

Directories

PathSynopsis
stofuseclientClient for FUSE server's API
stofuseentrypointThis entrypoint is in own package, so we don't need to sprinkle conditional compilation all around the base "stofuse" package because it doesn't compile on Windows

Package stofuse imports 30 packages (graph) and is imported by 1 packages. Updated 2020-09-07. Refresh now. Tools for package owners.