本文整理汇总了Golang中github.com/ipfs/go-ipfs/mfs.FSNode.Type方法的典型用法代码示例。如果您正苦于以下问题:Golang FSNode.Type方法的具体用法?Golang FSNode.Type怎么用?Golang FSNode.Type使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/ipfs/go-ipfs/mfs.FSNode
的用法示例。
在下文中一共展示了FSNode.Type方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: outputDirs
func (adder *Adder) outputDirs(path string, fs mfs.FSNode) error {
nd, err := fs.GetNode()
if err != nil {
return err
}
if !bytes.Equal(nd.Data, folderData) || fs.Type() != mfs.TDir {
return nil
}
dir, ok := fs.(*mfs.Directory)
if !ok {
return fmt.Errorf("received FSNode of type TDir that was not a Directory")
}
for _, name := range dir.ListNames() {
child, err := dir.Child(name)
if err != nil {
return err
}
err = adder.outputDirs(gopath.Join(path, name), child)
if err != nil {
return err
}
}
return outputDagnode(adder.out, path, nd)
}
示例2: statNode
func statNode(ds dag.DAGService, fsn mfs.FSNode) (*Object, error) {
nd, err := fsn.GetNode()
if err != nil {
return nil, err
}
c := nd.Cid()
pbnd, ok := nd.(*dag.ProtoNode)
if !ok {
return nil, dag.ErrNotProtobuf
}
d, err := ft.FromBytes(pbnd.Data())
if err != nil {
return nil, err
}
cumulsize, err := nd.Size()
if err != nil {
return nil, err
}
var ndtype string
switch fsn.Type() {
case mfs.TDir:
ndtype = "directory"
case mfs.TFile:
ndtype = "file"
default:
return nil, fmt.Errorf("Unrecognized node type: %s", fsn.Type())
}
return &Object{
Hash: c.String(),
Blocks: len(nd.Links()),
Size: d.GetFilesize(),
CumulativeSize: cumulsize,
Type: ndtype,
}, nil
}
示例3: statNode
func statNode(ds dag.DAGService, fsn mfs.FSNode) (*Object, error) {
nd, err := fsn.GetNode()
if err != nil {
return nil, err
}
// add to dagserv to ensure its available
k, err := ds.Add(nd)
if err != nil {
return nil, err
}
d, err := ft.FromBytes(nd.Data)
if err != nil {
return nil, err
}
cumulsize, err := nd.Size()
if err != nil {
return nil, err
}
var ndtype string
switch fsn.Type() {
case mfs.TDir:
ndtype = "directory"
case mfs.TFile:
ndtype = "file"
default:
return nil, fmt.Errorf("unrecognized node type: %s", fsn.Type())
}
return &Object{
Hash: k.B58String(),
Blocks: len(nd.Links),
Size: d.GetFilesize(),
CumulativeSize: cumulsize,
Type: ndtype,
}, nil
}