mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-26 21:07:45 +08:00
doc(core, main)
This commit is contained in:
parent
1edc5c0a65
commit
de45277883
@ -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
|
||||
}
|
||||
|
||||
|
||||
16
core/core.go
16
core/core.go
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user