Documentation
¶
Overview ¶
package fuse/ipns implements a fuse filesystem that interfaces with ipns, the naming system for ipfs.
Index ¶
- func InitializeKeyspace(n *core.IpfsNode, key ci.PrivKey) error
- func Mount(ipfs *core.IpfsNode, ipnsmp, ipfsmp string) (mount.Mount, error)
- type Directory
- func (d *Directory) Attr(ctx context.Context, a *fuse.Attr) error
- func (dir *Directory) Create(ctx context.Context, req *fuse.CreateRequest, resp *fuse.CreateResponse) (fs.Node, fs.Handle, error)
- func (s *Directory) Lookup(ctx context.Context, name string) (fs.Node, error)
- func (dir *Directory) Mkdir(ctx context.Context, req *fuse.MkdirRequest) (fs.Node, error)
- func (dir *Directory) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error)
- func (dir *Directory) Remove(ctx context.Context, req *fuse.RemoveRequest) error
- func (dir *Directory) Rename(ctx context.Context, req *fuse.RenameRequest, newDir fs.Node) error
- type File
- func (fi *File) Attr(ctx context.Context, a *fuse.Attr) error
- func (fi *File) Flush(ctx context.Context, req *fuse.FlushRequest) error
- func (fi *File) Forget()
- func (fi *File) Fsync(ctx context.Context, req *fuse.FsyncRequest) error
- func (fi *File) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.OpenResponse) (fs.Handle, error)
- func (fi *File) Read(ctx context.Context, req *fuse.ReadRequest, resp *fuse.ReadResponse) error
- func (fi *File) Release(ctx context.Context, req *fuse.ReleaseRequest) error
- func (fi *File) Setattr(ctx context.Context, req *fuse.SetattrRequest, resp *fuse.SetattrResponse) error
- func (fi *File) Write(ctx context.Context, req *fuse.WriteRequest, resp *fuse.WriteResponse) error
- type FileSystem
- type Link
- type Root
- type WriteAtBuf
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitializeKeyspace ¶
func InitializeKeyspace(n *core.IpfsNode, key ci.PrivKey) error
InitializeKeyspace sets the ipns record for the given key to point to an empty directory.
Types ¶
type Directory ¶ added in v0.3.2
type Directory struct {
fs.NodeRef
// contains filtered or unexported fields
}
Directory is wrapper over an mfs directory to satisfy the fuse fs interface
func (*Directory) Attr ¶ added in v0.3.2
func (d *Directory) Attr(ctx context.Context, a *fuse.Attr) error
Attr returns the attributes of a given node.
func (*Directory) Create ¶ added in v0.3.2
func (dir *Directory) Create(ctx context.Context, req *fuse.CreateRequest, resp *fuse.CreateResponse) (fs.Node, fs.Handle, error)
func (*Directory) Lookup ¶ added in v0.3.2
func (s *Directory) Lookup(ctx context.Context, name string) (fs.Node, error)
Lookup performs a lookup under this node.
func (*Directory) Mkdir ¶ added in v0.3.2
func (dir *Directory) Mkdir(ctx context.Context, req *fuse.MkdirRequest) (fs.Node, error)
func (*Directory) ReadDirAll ¶ added in v0.3.2
func (dir *Directory) ReadDirAll(ctx context.Context) ([]fuse.Dirent, error)
ReadDirAll reads the link structure as directory entries
type File ¶ added in v0.3.2
type File struct {
fs.NodeRef
// contains filtered or unexported fields
}
File is wrapper over an mfs file to satisfy the fuse fs interface
func (*File) Attr ¶ added in v0.3.2
func (fi *File) Attr(ctx context.Context, a *fuse.Attr) error
Attr returns the attributes of a given node.
func (*File) Flush ¶ added in v0.3.2
func (fi *File) Flush(ctx context.Context, req *fuse.FlushRequest) error
func (*File) Fsync ¶ added in v0.3.2
func (fi *File) Fsync(ctx context.Context, req *fuse.FsyncRequest) error
Fsync flushes the content in the file to disk, but does not update the dag tree internally
func (*File) Open ¶ added in v0.3.2
func (fi *File) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.OpenResponse) (fs.Handle, error)
func (*File) Read ¶ added in v0.3.2
func (fi *File) Read(ctx context.Context, req *fuse.ReadRequest, resp *fuse.ReadResponse) error
func (*File) Release ¶ added in v0.3.2
func (fi *File) Release(ctx context.Context, req *fuse.ReleaseRequest) error
type FileSystem ¶
type FileSystem struct {
Ipfs *core.IpfsNode
RootNode *Root
}
FileSystem is the readwrite IPNS Fuse Filesystem.
func NewFileSystem ¶
func NewFileSystem(ipfs *core.IpfsNode, sk ci.PrivKey, ipfspath, ipnspath string) (*FileSystem, error)
NewFileSystem constructs new fs using given core.IpfsNode instance.
type Root ¶
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 ¶
func CreateRoot(ipfs *core.IpfsNode, keys map[string]ci.PrivKey, ipfspath, ipnspath string) (*Root, error)
func (*Root) Attr ¶
func (*Root) Attr(ctx context.Context, a *fuse.Attr) error
Attr returns file attributes.
func (*Root) Forget ¶ added in v0.3.2
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 ¶
func (s *Root) Lookup(ctx context.Context, name string) (fs.Node, error)
Lookup performs a lookup under this node.
func (*Root) ReadDirAll ¶ added in v0.3.2
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
type WriteAtBuf ¶
type WriteAtBuf interface {
io.WriterAt
Bytes() []byte
}
func NewWriterAtFromBytes ¶
func NewWriterAtFromBytes(b []byte) WriteAtBuf