Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
71ac1175
提交
71ac1175
authored
10月 30, 2014
作者:
Jeromy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Address concerns in PR
上级
18ada93e
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
14 行增加
和
13 行删除
+14
-13
add.go
core/commands/add.go
+11
-1
importer.go
importer/importer.go
+3
-12
没有找到文件。
core/commands/add.go
浏览文件 @
71ac1175
...
...
@@ -10,8 +10,11 @@ import (
"github.com/jbenet/go-ipfs/core"
"github.com/jbenet/go-ipfs/importer"
"github.com/jbenet/go-ipfs/importer/chunk"
dag
"github.com/jbenet/go-ipfs/merkledag"
"github.com/jbenet/go-ipfs/pin"
ft
"github.com/jbenet/go-ipfs/unixfs"
uio
"github.com/jbenet/go-ipfs/unixfs/io"
)
// Error indicating the max depth has been exceded.
...
...
@@ -87,7 +90,14 @@ func addDir(n *core.IpfsNode, fpath string, depth int, out io.Writer) (*dag.Node
}
func
addFile
(
n
*
core
.
IpfsNode
,
fpath
string
,
depth
int
,
out
io
.
Writer
)
(
*
dag
.
Node
,
error
)
{
root
,
err
:=
importer
.
NewDagFromFileWServer
(
fpath
,
n
.
DAG
,
n
.
Pinning
)
dw
:=
uio
.
NewDagWriter
(
n
.
DAG
,
chunk
.
DefaultSplitter
)
mp
,
ok
:=
n
.
Pinning
.
(
pin
.
ManualPinner
)
if
!
ok
{
return
nil
,
errors
.
New
(
"invalid pinner type! expected manual pinner"
)
}
dw
.
Pinner
=
mp
root
,
err
:=
importer
.
ImportFileDag
(
fpath
,
dw
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
importer/importer.go
浏览文件 @
71ac1175
package
importer
import
(
"errors"
"fmt"
"io"
"os"
"github.com/jbenet/go-ipfs/importer/chunk"
dag
"github.com/jbenet/go-ipfs/merkledag"
"github.com/jbenet/go-ipfs/pin"
ft
"github.com/jbenet/go-ipfs/unixfs"
uio
"github.com/jbenet/go-ipfs/unixfs/io"
"github.com/jbenet/go-ipfs/util"
...
...
@@ -76,7 +74,7 @@ func NewDagFromFile(fpath string) (*dag.Node, error) {
return
NewDagFromReader
(
f
)
}
func
NewDagFromFileWServer
(
fpath
string
,
dserv
dag
.
DAGService
,
p
pin
.
Pinn
er
)
(
*
dag
.
Node
,
error
)
{
func
ImportFileDag
(
fpath
string
,
dw
*
uio
.
DagWrit
er
)
(
*
dag
.
Node
,
error
)
{
stat
,
err
:=
os
.
Stat
(
fpath
)
if
err
!=
nil
{
return
nil
,
err
...
...
@@ -92,17 +90,10 @@ func NewDagFromFileWServer(fpath string, dserv dag.DAGService, p pin.Pinner) (*d
}
defer
f
.
Close
()
return
NewDagFromReaderWServer
(
f
,
dserv
,
p
)
return
ImportReaderDag
(
f
,
dw
)
}
func
NewDagFromReaderWServer
(
r
io
.
Reader
,
dserv
dag
.
DAGService
,
p
pin
.
Pinner
)
(
*
dag
.
Node
,
error
)
{
dw
:=
uio
.
NewDagWriter
(
dserv
,
chunk
.
DefaultSplitter
)
mp
,
ok
:=
p
.
(
pin
.
ManualPinner
)
if
!
ok
{
return
nil
,
errors
.
New
(
"Needed to be passed a manual pinner!"
)
}
dw
.
Pinner
=
mp
func
ImportReaderDag
(
r
io
.
Reader
,
dw
*
uio
.
DagWriter
)
(
*
dag
.
Node
,
error
)
{
_
,
err
:=
io
.
Copy
(
dw
,
r
)
if
err
!=
nil
{
return
nil
,
err
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论