go-ipfs: github.com/ipfs/go-ipfs/fuse/ipns Index | Files

package ipns

import "github.com/ipfs/go-ipfs/fuse/ipns"

package fuse/ipns implements a fuse filesystem that interfaces with ipns, the naming system for ipfs.

Index

Package Files

common.go ipns_unix.go link_unix.go mount_unix.go

func InitializeKeyspace Uses

func InitializeKeyspace(n *core.IpfsNode, key ci.PrivKey) error

InitializeKeyspace sets the ipns record for the given key to point to an empty directory.

func Mount Uses

func Mount(ipfs *core.IpfsNode, ipnsmp, ipfsmp string) (mount.Mount, error)

Mount mounts ipns at a given location, and returns a mount.Mount instance.

type Directory Uses

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

Directory is wrapper over an mfs directory to satisfy the fuse fs interface

func (*Directory) Attr Uses

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

Attr returns the attributes of a given node.

func (*Directory) Create Uses

func (dir *Directory) Create(ctx context.Context, req *fuse.CreateRequest, resp *fuse.CreateResponse) (fs.Node, fs.Handle, error)

func (*Directory) Lookup Uses

func (s *Directory) Lookup(ctx context.Context, name string) (fs.Node, error)

Lookup performs a lookup under this node.

func (*Directory) Mkdir Uses

func (dir *Directory) Mkdir(ctx context.Context, req *fuse.MkdirRequest) (fs.Node, error)

func (*Directory) ReadDirAll Uses

func (dir *Directory) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error)

ReadDirAll reads the link structure as directory entries

func (*Directory) Remove Uses

func (dir *Directory) Remove(ctx context.Context, req *fuse.RemoveRequest) error

func (*Directory) Rename Uses

func (dir *Directory) Rename(ctx context.Context, req *fuse.RenameRequest, newDir fs.Node) error

Rename implements NodeRenamer

type File Uses

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

File is wrapper over an mfs file to satisfy the fuse fs interface

func (*File) Flush Uses

func (fi *File) Flush(ctx context.Context, req *fuse.FlushRequest) error

func (*File) Forget Uses

func (fi *File) Forget()

func (*File) Read Uses

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

func (*File) Release Uses

func (fi *File) Release(ctx context.Context, req *fuse.ReleaseRequest) error

func (*File) Setattr Uses

func (fi *File) Setattr(ctx context.Context, req *fuse.SetattrRequest, resp *fuse.SetattrResponse) error

func (*File) Write Uses

func (fi *File) Write(ctx context.Context, req *fuse.WriteRequest, resp *fuse.WriteResponse) error

type FileNode Uses

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

func (*FileNode) Attr Uses

func (fi *FileNode) Attr(ctx context.Context, a *fuse.Attr) error

Attr returns the attributes of a given node.

func (*FileNode) Fsync Uses

func (fi *FileNode) Fsync(ctx context.Context, req *fuse.FsyncRequest) error

Fsync flushes the content in the file to disk.

func (*FileNode) Open Uses

func (fi *FileNode) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.OpenResponse) (fs.Handle, error)

type FileSystem Uses

type FileSystem struct {
    Ipfs     *core.IpfsNode
    RootNode *Root
}

FileSystem is the readwrite IPNS Fuse Filesystem.

func NewFileSystem Uses

func NewFileSystem(ipfs *core.IpfsNode, sk ci.PrivKey, ipfspath, ipnspath string) (*FileSystem, error)

NewFileSystem constructs new fs using given core.IpfsNode instance.

func (*FileSystem) Destroy Uses

func (f *FileSystem) Destroy()

func (*FileSystem) Root Uses

func (f *FileSystem) Root() (fs.Node, error)

Root constructs the Root of the filesystem, a Root object.

type Link struct {
    Target string
}

func (*Link) Attr Uses

func (l *Link) Attr(ctx context.Context, a *fuse.Attr) error
func (l *Link) Readlink(ctx context.Context, req *fuse.ReadlinkRequest) (string, error)

type Root Uses

type Root struct {
    Ipfs *core.IpfsNode
    Keys map[string]ci.PrivKey

    // Used for symlinking into ipfs
    IpfsRoot  string
    IpnsRoot  string
    LocalDirs map[string]fs.Node
    Roots     map[string]*keyRoot

    LocalLinks map[string]*Link
}

Root is the root object of the filesystem tree.

func CreateRoot Uses

func CreateRoot(ipfs *core.IpfsNode, keys map[string]ci.PrivKey, ipfspath, ipnspath string) (*Root, error)

func (*Root) Attr Uses

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

Attr returns file attributes.

func (*Root) Close Uses

func (r *Root) Close() error

func (*Root) Forget Uses

func (r *Root) Forget()

Forget is called when the filesystem is unmounted. probably. see comments here: http://godoc.org/bazil.org/fuse/fs#FSDestroyer

func (*Root) Lookup Uses

func (s *Root) Lookup(ctx context.Context, name string) (fs.Node, error)

Lookup performs a lookup under this node.

func (*Root) ReadDirAll Uses

func (r *Root) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error)

ReadDirAll reads a particular directory. Will show locally available keys as well as a symlink to the peerID key

Package ipns imports 19 packages (graph) and is imported by 29 packages. Updated 2019-08-13. Refresh now. Tools for package owners.