Documentation
¶
Overview ¶
package fuse/ipns implements a fuse filesystem that interfaces with ipns, the naming system for ipfs.
Index ¶
- Constants
- func InitializeKeyspace(n *core.IpfsNode, key ci.PrivKey) error
- func Mount(ipfs *core.IpfsNode, ipnsmp, ipfsmp string) (mount.Mount, error)
- type FileSystem
- type Link
- type Node
- func (s *Node) Attr() fuse.Attr
- func (n *Node) Create(req *fuse.CreateRequest, resp *fuse.CreateResponse, intr fs.Intr) (fs.Node, fs.Handle, fuse.Error)
- func (n *Node) Flush(req *fuse.FlushRequest, intr fs.Intr) fuse.Error
- func (n *Node) Fsync(req *fuse.FsyncRequest, intr fs.Intr) fuse.Error
- func (s *Node) Lookup(name string, intr fs.Intr) (fs.Node, fuse.Error)
- func (n *Node) Mkdir(req *fuse.MkdirRequest, intr fs.Intr) (fs.Node, fuse.Error)
- func (n *Node) Mknod(req *fuse.MknodRequest, intr fs.Intr) (fs.Node, fuse.Error)
- func (n *Node) Open(req *fuse.OpenRequest, resp *fuse.OpenResponse, intr fs.Intr) (fs.Handle, fuse.Error)
- func (s *Node) Read(req *fuse.ReadRequest, resp *fuse.ReadResponse, intr fs.Intr) fuse.Error
- func (s *Node) ReadDir(intr fs.Intr) ([]fuse.Dirent, fuse.Error)
- func (n *Node) Remove(req *fuse.RemoveRequest, intr fs.Intr) fuse.Error
- func (n *Node) Rename(req *fuse.RenameRequest, newDir fs.Node, intr fs.Intr) fuse.Error
- func (n *Node) Write(req *fuse.WriteRequest, resp *fuse.WriteResponse, intr fs.Intr) fuse.Error
- type Republisher
- type Root
- type WriteAtBuf
Constants ¶
View Source
const IpnsReadonly = true
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 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 string) (*FileSystem, error)
NewFileSystem constructs new fs using given core.IpfsNode instance.
type Node ¶
type Node struct {
Ipfs *core.IpfsNode
Nd *mdag.Node
// contains filtered or unexported fields
}
Node is the core object representing a filesystem tree node.
func (*Node) Create ¶
func (n *Node) Create(req *fuse.CreateRequest, resp *fuse.CreateResponse, intr fs.Intr) (fs.Node, fs.Handle, fuse.Error)
func (*Node) Lookup ¶
func (s *Node) Lookup(name string, intr fs.Intr) (fs.Node, fuse.Error)
Lookup performs a lookup under this node.
func (*Node) Mkdir ¶
func (n *Node) Mkdir(req *fuse.MkdirRequest, intr fs.Intr) (fs.Node, fuse.Error)
func (*Node) Mknod ¶
func (n *Node) Mknod(req *fuse.MknodRequest, intr fs.Intr) (fs.Node, fuse.Error)
func (*Node) Open ¶
func (n *Node) Open(req *fuse.OpenRequest, resp *fuse.OpenResponse, intr fs.Intr) (fs.Handle, fuse.Error)
func (*Node) Read ¶
func (s *Node) Read(req *fuse.ReadRequest, resp *fuse.ReadResponse, intr fs.Intr) fuse.Error
func (*Node) ReadDir ¶
func (s *Node) ReadDir(intr fs.Intr) ([]fuse.Dirent, fuse.Error)
ReadDir reads the link structure as directory entries
type Republisher ¶
type Republisher struct {
TimeoutLong time.Duration
TimeoutShort time.Duration
Publish chan struct{}
// contains filtered or unexported fields
}
func NewRepublisher ¶
func NewRepublisher(n *Node, tshort, tlong time.Duration) *Republisher
type Root ¶
type Root struct {
Ipfs *core.IpfsNode
Keys []ci.PrivKey
// Used for symlinking into ipfs
IpfsRoot string
LocalDirs map[string]*Node
LocalLink *Link
}
Root is the root object of the filesystem tree.
func CreateRoot ¶
func CreateRoot(n *core.IpfsNode, keys []ci.PrivKey, ipfsroot string) (*Root, error)
type WriteAtBuf ¶
type WriteAtBuf interface {
io.WriterAt
Bytes() []byte
}
func NewWriterAtFromBytes ¶
func NewWriterAtFromBytes(b []byte) WriteAtBuf
Click to show internal directories.
Click to hide internal directories.