Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
b46712bd
提交
b46712bd
authored
6月 17, 2015
作者:
Jeromy Johnson
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1379 from dylanPowers/use-trickle-dag
Wired up the trickle dag flag for the add command
上级
c73d0e0b
600e1523
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
28 行增加
和
14 行删除
+28
-14
add.go
core/commands/add.go
+28
-14
没有找到文件。
core/commands/add.go
浏览文件 @
b46712bd
...
...
@@ -28,6 +28,7 @@ const progressReaderIncrement = 1024 * 256
const
(
progressOptionName
=
"progress"
trickleOptionName
=
"trickle"
wrapOptionName
=
"wrap-with-directory"
)
...
...
@@ -56,7 +57,7 @@ remains to be implemented.
cmds
.
BoolOption
(
"quiet"
,
"q"
,
"Write minimal output"
),
cmds
.
BoolOption
(
progressOptionName
,
"p"
,
"Stream progress data"
),
cmds
.
BoolOption
(
wrapOptionName
,
"w"
,
"Wrap files with a directory object"
),
cmds
.
BoolOption
(
"t"
,
"trickle
"
,
"Use trickle-dag format for dag generation"
),
cmds
.
BoolOption
(
trickleOptionName
,
"t
"
,
"Use trickle-dag format for dag generation"
),
},
PreRun
:
func
(
req
cmds
.
Request
)
error
{
if
quiet
,
_
,
_
:=
req
.
Option
(
"quiet"
)
.
Bool
();
quiet
{
...
...
@@ -89,6 +90,7 @@ remains to be implemented.
}
progress
,
_
,
_
:=
req
.
Option
(
progressOptionName
)
.
Bool
()
trickle
,
_
,
_
:=
req
.
Option
(
trickleOptionName
)
.
Bool
()
wrap
,
_
,
_
:=
req
.
Option
(
wrapOptionName
)
.
Bool
()
outChan
:=
make
(
chan
interface
{},
8
)
...
...
@@ -107,7 +109,7 @@ remains to be implemented.
return
}
rootnd
,
err
:=
addFile
(
n
,
file
,
outChan
,
progress
,
wrap
)
rootnd
,
err
:=
addFile
(
n
,
file
,
outChan
,
progress
,
wrap
,
trickle
)
if
err
!=
nil
{
res
.
SetError
(
err
,
cmds
.
ErrNormal
)
return
...
...
@@ -217,13 +219,25 @@ remains to be implemented.
Type
:
AddedObject
{},
}
func
add
(
n
*
core
.
IpfsNode
,
reader
io
.
Reader
)
(
*
dag
.
Node
,
error
)
{
node
,
err
:=
importer
.
BuildDagFromReader
(
reader
,
n
.
DAG
,
chunk
.
DefaultSplitter
,
importer
.
PinIndirectCB
(
n
.
Pinning
.
GetManual
()),
)
func
add
(
n
*
core
.
IpfsNode
,
reader
io
.
Reader
,
useTrickle
bool
)
(
*
dag
.
Node
,
error
)
{
var
node
*
dag
.
Node
var
err
error
if
useTrickle
{
node
,
err
=
importer
.
BuildTrickleDagFromReader
(
reader
,
n
.
DAG
,
chunk
.
DefaultSplitter
,
importer
.
PinIndirectCB
(
n
.
Pinning
.
GetManual
()),
)
}
else
{
node
,
err
=
importer
.
BuildDagFromReader
(
reader
,
n
.
DAG
,
chunk
.
DefaultSplitter
,
importer
.
PinIndirectCB
(
n
.
Pinning
.
GetManual
()),
)
}
if
err
!=
nil
{
return
nil
,
err
}
...
...
@@ -231,9 +245,9 @@ func add(n *core.IpfsNode, reader io.Reader) (*dag.Node, error) {
return
node
,
nil
}
func
addFile
(
n
*
core
.
IpfsNode
,
file
files
.
File
,
out
chan
interface
{},
progress
bool
,
wrap
bool
)
(
*
dag
.
Node
,
error
)
{
func
addFile
(
n
*
core
.
IpfsNode
,
file
files
.
File
,
out
chan
interface
{},
progress
bool
,
wrap
bool
,
useTrickle
bool
)
(
*
dag
.
Node
,
error
)
{
if
file
.
IsDirectory
()
{
return
addDir
(
n
,
file
,
out
,
progress
)
return
addDir
(
n
,
file
,
out
,
progress
,
useTrickle
)
}
// if the progress flag was specified, wrap the file so that we can send
...
...
@@ -255,7 +269,7 @@ func addFile(n *core.IpfsNode, file files.File, out chan interface{}, progress b
return
dagnode
,
nil
}
dagnode
,
err
:=
add
(
n
,
reader
)
dagnode
,
err
:=
add
(
n
,
reader
,
useTrickle
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
@@ -267,7 +281,7 @@ func addFile(n *core.IpfsNode, file files.File, out chan interface{}, progress b
return
dagnode
,
nil
}
func
addDir
(
n
*
core
.
IpfsNode
,
dir
files
.
File
,
out
chan
interface
{},
progress
bool
)
(
*
dag
.
Node
,
error
)
{
func
addDir
(
n
*
core
.
IpfsNode
,
dir
files
.
File
,
out
chan
interface
{},
progress
bool
,
useTrickle
bool
)
(
*
dag
.
Node
,
error
)
{
log
.
Infof
(
"adding directory: %s"
,
dir
.
FileName
())
tree
:=
&
dag
.
Node
{
Data
:
ft
.
FolderPBData
()}
...
...
@@ -281,7 +295,7 @@ func addDir(n *core.IpfsNode, dir files.File, out chan interface{}, progress boo
break
}
node
,
err
:=
addFile
(
n
,
file
,
out
,
progress
,
false
)
node
,
err
:=
addFile
(
n
,
file
,
out
,
progress
,
false
,
useTrickle
)
if
err
!=
nil
{
return
nil
,
err
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论