提交 de452778 作者: Brian Tiger Chow

doc(core, main)

上级 1edc5c0a
......@@ -182,7 +182,7 @@ func (i *cmdInvocation) constructNodeFunc(ctx context.Context) func() (*core.Ipf
}
r := fsrepo.At(i.req.Context().ConfigRoot)
if err := r.Open(); err != nil {
if err := r.Open(); err != nil { // repo is owned by the node
return nil, err
}
......
......@@ -150,6 +150,18 @@ func Online(r repo.Repo) ConfigOption {
// DEPRECATED: use Online, Offline functions
func Standard(r repo.Repo, online bool) ConfigOption {
return func(ctx context.Context) (n *IpfsNode, err error) {
// FIXME perform node construction in the main constructor so it isn't
// necessary to perform this teardown in this scope.
success := false
defer func() {
if !success && n != nil {
n.teardown()
}
}()
// TODO move as much of node initialization as possible into
// NewIPFSNode. The larger these config options are, the harder it is
// to test all node construction code paths.
if r == nil {
return nil, debugerror.Errorf("repo required")
......@@ -177,15 +189,15 @@ func Standard(r repo.Repo, online bool) ConfigOption {
return nil, debugerror.Wrap(err)
}
// setup online services
if online {
if err := n.StartOnlineServices(ctx); err != nil {
return nil, err // debugerror.Wraps.
return nil, err
}
} else {
n.Exchange = offline.Exchange(n.Blockstore)
}
success = true
return n, nil
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论