Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
9ddfafb4
提交
9ddfafb4
authored
1月 30, 2015
作者:
Jeromy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
address concerns about user interface with new Path type
上级
1c891dbd
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
27 行增加
和
12 行删除
+27
-12
add.go
core/coreunix/add.go
+9
-5
cat.go
core/coreunix/cat.go
+2
-1
path.go
path/path.go
+12
-0
addcat_test.go
test/integration/addcat_test.go
+2
-3
three_legged_cat_test.go
test/integration/three_legged_cat_test.go
+2
-3
没有找到文件。
core/coreunix/add.go
浏览文件 @
9ddfafb4
...
...
@@ -4,7 +4,7 @@ import (
"errors"
"io"
"os"
"path"
gopath
"path"
"github.com/jbenet/go-ipfs/commands/files"
core
"github.com/jbenet/go-ipfs/core"
...
...
@@ -14,14 +14,13 @@ import (
"github.com/jbenet/go-ipfs/pin"
"github.com/jbenet/go-ipfs/thirdparty/eventlog"
unixfs
"github.com/jbenet/go-ipfs/unixfs"
u
"github.com/jbenet/go-ipfs/util"
)
var
log
=
eventlog
.
Logger
(
"coreunix"
)
// Add builds a merkledag from the a reader, pinning all objects to the local
// datastore. Returns a key representing the root node.
func
Add
(
n
*
core
.
IpfsNode
,
r
io
.
Reader
)
(
u
.
Key
,
error
)
{
func
Add
(
n
*
core
.
IpfsNode
,
r
io
.
Reader
)
(
string
,
error
)
{
// TODO more attractive function signature importer.BuildDagFromReader
dagNode
,
err
:=
importer
.
BuildDagFromReader
(
r
,
...
...
@@ -35,7 +34,12 @@ func Add(n *core.IpfsNode, r io.Reader) (u.Key, error) {
if
err
:=
n
.
Pinning
.
Flush
();
err
!=
nil
{
return
""
,
err
}
return
dagNode
.
Key
()
k
,
err
:=
dagNode
.
Key
()
if
err
!=
nil
{
return
""
,
err
}
return
k
.
String
(),
nil
}
// AddR recursively adds files in |path|.
...
...
@@ -124,7 +128,7 @@ Loop:
return
nil
,
err
}
_
,
name
:=
path
.
Split
(
file
.
FileName
())
_
,
name
:=
go
path
.
Split
(
file
.
FileName
())
err
=
tree
.
AddNodeLink
(
name
,
node
)
if
err
!=
nil
{
...
...
core/coreunix/cat.go
浏览文件 @
9ddfafb4
...
...
@@ -8,7 +8,8 @@ import (
uio
"github.com/jbenet/go-ipfs/unixfs/io"
)
func
Cat
(
n
*
core
.
IpfsNode
,
p
path
.
Path
)
(
io
.
Reader
,
error
)
{
func
Cat
(
n
*
core
.
IpfsNode
,
pstr
string
)
(
io
.
Reader
,
error
)
{
p
:=
path
.
FromString
(
pstr
)
dagNode
,
err
:=
n
.
Resolver
.
ResolvePath
(
p
)
if
err
!=
nil
{
return
nil
,
err
...
...
path/path.go
浏览文件 @
9ddfafb4
...
...
@@ -3,12 +3,24 @@ package path
import
(
"path"
"strings"
u
"github.com/jbenet/go-ipfs/util"
)
// TODO: debate making this a private struct wrapped in a public interface
// would allow us to control creation, and cache segments.
type
Path
string
// FromString safely converts a string type to a Path type
func
FromString
(
s
string
)
Path
{
return
Path
(
s
)
}
// FromKey safely converts a Key type to a Path type
func
FromKey
(
k
u
.
Key
)
Path
{
return
Path
(
k
.
String
())
}
func
(
p
Path
)
Segments
()
[]
string
{
cleaned
:=
path
.
Clean
(
string
(
p
))
segments
:=
strings
.
Split
(
cleaned
,
"/"
)
...
...
test/integration/addcat_test.go
浏览文件 @
9ddfafb4
...
...
@@ -15,7 +15,6 @@ import (
coreunix
"github.com/jbenet/go-ipfs/core/coreunix"
mocknet
"github.com/jbenet/go-ipfs/p2p/net/mock"
"github.com/jbenet/go-ipfs/p2p/peer"
path
"github.com/jbenet/go-ipfs/path"
"github.com/jbenet/go-ipfs/thirdparty/unit"
errors
"github.com/jbenet/go-ipfs/util/debugerror"
testutil
"github.com/jbenet/go-ipfs/util/testutil"
...
...
@@ -126,12 +125,12 @@ func DirectAddCat(data []byte, conf testutil.LatencyConfig) error {
return
err
}
keyA
dded
,
err
:=
coreunix
.
Add
(
adder
,
bytes
.
NewReader
(
data
))
a
dded
,
err
:=
coreunix
.
Add
(
adder
,
bytes
.
NewReader
(
data
))
if
err
!=
nil
{
return
err
}
readerCatted
,
err
:=
coreunix
.
Cat
(
catter
,
path
.
Path
(
keyAdded
.
String
())
)
readerCatted
,
err
:=
coreunix
.
Cat
(
catter
,
added
)
if
err
!=
nil
{
return
err
}
...
...
test/integration/three_legged_cat_test.go
浏览文件 @
9ddfafb4
...
...
@@ -12,7 +12,6 @@ import (
coreunix
"github.com/jbenet/go-ipfs/core/coreunix"
mocknet
"github.com/jbenet/go-ipfs/p2p/net/mock"
"github.com/jbenet/go-ipfs/p2p/peer"
path
"github.com/jbenet/go-ipfs/path"
"github.com/jbenet/go-ipfs/thirdparty/unit"
errors
"github.com/jbenet/go-ipfs/util/debugerror"
testutil
"github.com/jbenet/go-ipfs/util/testutil"
...
...
@@ -106,12 +105,12 @@ func RunThreeLeggedCat(data []byte, conf testutil.LatencyConfig) error {
return
err
}
keyA
dded
,
err
:=
coreunix
.
Add
(
adder
,
bytes
.
NewReader
(
data
))
a
dded
,
err
:=
coreunix
.
Add
(
adder
,
bytes
.
NewReader
(
data
))
if
err
!=
nil
{
return
err
}
readerCatted
,
err
:=
coreunix
.
Cat
(
catter
,
path
.
Path
(
keyAdded
.
String
())
)
readerCatted
,
err
:=
coreunix
.
Cat
(
catter
,
added
)
if
err
!=
nil
{
return
err
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论