Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
e42c9672
提交
e42c9672
authored
6月 22, 2015
作者:
Jeromy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add option to only hash input
License: MIT Signed-off-by:
Jeromy
<
jeromyj@gmail.com
>
上级
3a1c8d7a
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
25 行增加
和
3 行删除
+25
-3
builder.go
core/builder.go
+14
-3
add.go
core/commands/add.go
+11
-0
没有找到文件。
core/builder.go
浏览文件 @
e42c9672
...
...
@@ -23,6 +23,7 @@ type NodeBuilder struct {
peerhost
HostOption
repo
repo
.
Repo
built
bool
nilrepo
bool
}
func
NewNodeBuilder
()
*
NodeBuilder
{
...
...
@@ -33,7 +34,7 @@ func NewNodeBuilder() *NodeBuilder {
}
}
func
defaultRepo
()
(
repo
.
Repo
,
error
)
{
func
defaultRepo
(
dstore
ds
.
ThreadSafeDatastore
)
(
repo
.
Repo
,
error
)
{
c
:=
cfg
.
Config
{}
priv
,
pub
,
err
:=
ci
.
GenerateKeyPairWithReader
(
ci
.
RSA
,
1024
,
rand
.
Reader
)
if
err
!=
nil
{
...
...
@@ -56,7 +57,7 @@ func defaultRepo() (repo.Repo, error) {
c
.
Identity
.
PrivKey
=
base64
.
StdEncoding
.
EncodeToString
(
privkeyb
)
return
&
repo
.
Mock
{
D
:
ds
ync
.
MutexWrap
(
ds
.
NewMapDatastore
())
,
D
:
ds
tore
,
C
:
c
,
},
nil
}
...
...
@@ -86,13 +87,23 @@ func (nb *NodeBuilder) SetRepo(r repo.Repo) *NodeBuilder {
return
nb
}
func
(
nb
*
NodeBuilder
)
NilRepo
()
*
NodeBuilder
{
nb
.
nilrepo
=
true
return
nb
}
func
(
nb
*
NodeBuilder
)
Build
(
ctx
context
.
Context
)
(
*
IpfsNode
,
error
)
{
if
nb
.
built
{
return
nil
,
ErrAlreadyBuilt
}
nb
.
built
=
true
if
nb
.
repo
==
nil
{
r
,
err
:=
defaultRepo
()
var
d
ds
.
Datastore
d
=
ds
.
NewMapDatastore
()
if
nb
.
nilrepo
{
d
=
ds
.
NewNullDatastore
()
}
r
,
err
:=
defaultRepo
(
dsync
.
MutexWrap
(
d
))
if
err
!=
nil
{
return
nil
,
err
}
...
...
core/commands/add.go
浏览文件 @
e42c9672
...
...
@@ -58,6 +58,7 @@ remains to be implemented.
cmds
.
BoolOption
(
progressOptionName
,
"p"
,
"Stream progress data"
),
cmds
.
BoolOption
(
wrapOptionName
,
"w"
,
"Wrap files with a directory object"
),
cmds
.
BoolOption
(
trickleOptionName
,
"t"
,
"Use trickle-dag format for dag generation"
),
cmds
.
BoolOption
(
"only-hash"
,
"n"
,
"Only chunk and hash the specified content, don't write to disk"
),
},
PreRun
:
func
(
req
cmds
.
Request
)
error
{
if
quiet
,
_
,
_
:=
req
.
Option
(
"quiet"
)
.
Bool
();
quiet
{
...
...
@@ -92,6 +93,16 @@ remains to be implemented.
progress
,
_
,
_
:=
req
.
Option
(
progressOptionName
)
.
Bool
()
trickle
,
_
,
_
:=
req
.
Option
(
trickleOptionName
)
.
Bool
()
wrap
,
_
,
_
:=
req
.
Option
(
wrapOptionName
)
.
Bool
()
hash
,
_
,
_
:=
req
.
Option
(
"only-hash"
)
.
Bool
()
if
hash
{
nilnode
,
err
:=
core
.
NewNodeBuilder
()
.
NilRepo
()
.
Build
(
n
.
Context
())
if
err
!=
nil
{
res
.
SetError
(
err
,
cmds
.
ErrNormal
)
return
}
n
=
nilnode
}
outChan
:=
make
(
chan
interface
{},
8
)
res
.
SetOutput
((
<-
chan
interface
{})(
outChan
))
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论