Versions in this module Expand all Collapse all v0 v0.3.3 Apr 28, 2015 v0.3.2 Apr 22, 2015 Changes in this version + var ErrInvalidChild = errors.New("invalid child node") + var ErrIsDirectory = errors.New("error: is a directory") + var ErrNotYetImplemented = errors.New("not yet implemented") + type Directory struct + func NewDirectory(name string, node *dag.Node, parent childCloser, fs *Filesystem) *Directory + func (d *Directory) AddChild(name string, nd *dag.Node) error + func (d *Directory) Child(name string) (FSNode, error) + func (d *Directory) GetNode() (*dag.Node, error) + func (d *Directory) List() []string + func (d *Directory) Lock() + func (d *Directory) Mkdir(name string) (*Directory, error) + func (d *Directory) Type() NodeType + func (d *Directory) Unlink(name string) error + func (d *Directory) Unlock() + type FSNode interface + GetNode func() (*dag.Node, error) + Lock func() + Type func() NodeType + Unlock func() + type File struct + func NewFile(name string, node *dag.Node, parent childCloser, fs *Filesystem) (*File, error) + func (fi *File) Close() error + func (fi *File) CtxReadFull(ctx context.Context, b []byte) (int, error) + func (fi *File) GetNode() (*dag.Node, error) + func (fi *File) Lock() + func (fi *File) Read(b []byte) (int, error) + func (fi *File) Seek(offset int64, whence int) (int64, error) + func (fi *File) Size() (int64, error) + func (fi *File) Sync() error + func (fi *File) Truncate(size int64) error + func (fi *File) Type() NodeType + func (fi *File) Unlock() + func (fi *File) Write(b []byte) (int, error) + func (fi *File) WriteAt(b []byte, at int64) (int, error) + type Filesystem struct + func NewFilesystem(ctx context.Context, ds dag.DAGService, nsys namesys.NameSystem, ...) (*Filesystem, error) + func (fs *Filesystem) Close() error + func (fs *Filesystem) GetRoot(name string) (*KeyRoot, error) + type KeyRoot struct + func (kr *KeyRoot) GetValue() FSNode + func (kr *KeyRoot) Publish(ctx context.Context) error + type NodeType int + const TDir + const TFile + type Republisher struct + Publish chan struct{} + TimeoutLong time.Duration + TimeoutShort time.Duration + func NewRepublisher(root *KeyRoot, tshort, tlong time.Duration) *Republisher + func (np *Republisher) Run(ctx context.Context) + func (np *Republisher) Touch()