提交 de452778 作者: Brian Tiger Chow

doc(core, main)

上级 1edc5c0a
...@@ -182,7 +182,7 @@ func (i *cmdInvocation) constructNodeFunc(ctx context.Context) func() (*core.Ipf ...@@ -182,7 +182,7 @@ func (i *cmdInvocation) constructNodeFunc(ctx context.Context) func() (*core.Ipf
} }
r := fsrepo.At(i.req.Context().ConfigRoot) 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 return nil, err
} }
......
...@@ -150,6 +150,18 @@ func Online(r repo.Repo) ConfigOption { ...@@ -150,6 +150,18 @@ func Online(r repo.Repo) ConfigOption {
// DEPRECATED: use Online, Offline functions // DEPRECATED: use Online, Offline functions
func Standard(r repo.Repo, online bool) ConfigOption { func Standard(r repo.Repo, online bool) ConfigOption {
return func(ctx context.Context) (n *IpfsNode, err error) { 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 { if r == nil {
return nil, debugerror.Errorf("repo required") return nil, debugerror.Errorf("repo required")
...@@ -177,15 +189,15 @@ func Standard(r repo.Repo, online bool) ConfigOption { ...@@ -177,15 +189,15 @@ func Standard(r repo.Repo, online bool) ConfigOption {
return nil, debugerror.Wrap(err) return nil, debugerror.Wrap(err)
} }
// setup online services
if online { if online {
if err := n.StartOnlineServices(ctx); err != nil { if err := n.StartOnlineServices(ctx); err != nil {
return nil, err // debugerror.Wraps. return nil, err
} }
} else { } else {
n.Exchange = offline.Exchange(n.Blockstore) n.Exchange = offline.Exchange(n.Blockstore)
} }
success = true
return n, nil return n, nil
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论