提交 361ba691 作者: Łukasz Magiera 提交者: Steven Allen

Organize NewNode a bit

License: MIT
Signed-off-by: 's avatarŁukasz Magiera <magik6k@gmail.com>
上级 0fd2f80b
...@@ -155,46 +155,74 @@ func NewNode(ctx context.Context, cfg *BuildCfg) (*IpfsNode, error) { ...@@ -155,46 +155,74 @@ func NewNode(ctx context.Context, cfg *BuildCfg) (*IpfsNode, error) {
return cfg return cfg
}) })
n := &IpfsNode{
ctx: ctx,
}
app := fx.New( params := fx.Options(
repoOption, repoOption,
cfgOption, cfgOption,
)
storage := fx.Options(
fx.Provide(repoConfig), fx.Provide(repoConfig),
fx.Provide(identity),
fx.Provide(privateKey),
fx.Provide(peerstore),
fx.Provide(baseBlockstoreCtor), fx.Provide(baseBlockstoreCtor),
fx.Provide(gcBlockstoreCtor), fx.Provide(gcBlockstoreCtor),
)
ident := fx.Options(
fx.Provide(identity),
fx.Provide(privateKey),
)
ipns := fx.Options(
fx.Provide(recordValidator), fx.Provide(recordValidator),
)
ipfsp2p, online := fx.Options(
fx.Provide(onlineExchangeCtor),
fx.Provide(onlineNamesysCtor),
fx.Invoke(setupSharding), fx.Invoke(ipnsRepublisher),
fx.Invoke(provider.Provider.Run),
)
if !cfg.Online {
online = fx.Options(
fx.Provide(offline.Exchange),
fx.Provide(offlineNamesysCtor),
)
}
fx.Provide(onlineExchangeCtor), // TODO: offline core := fx.Options(
fx.Provide(onlineNamesysCtor), // TODO: ^^
fx.Provide(bserv.New), fx.Provide(bserv.New),
fx.Provide(onlineDagCtor), fx.Provide(dagCtor),
fx.Provide(resolver.NewBasicResolver), fx.Provide(resolver.NewBasicResolver),
fx.Provide(pinning), fx.Provide(pinning),
fx.Provide(files), fx.Provide(files),
)
providers := fx.Options(
fx.Provide(providerQueue), fx.Provide(providerQueue),
fx.Provide(providerCtor), fx.Provide(providerCtor),
fx.Provide(reproviderCtor), fx.Provide(reproviderCtor),
fx.Invoke(reprovider), fx.Invoke(reprovider),
)
fx.Provide(p2p.NewP2P), n := &IpfsNode{
ctx: ctx,
}
fx.Invoke(ipnsRepublisher), app := fx.New(
fx.Invoke(provider.Provider.Run), params,
storage,
ident,
ipfsp2p,
ipns,
online,
fx.Invoke(setupSharding),
core,
providers,
fx.Provide(p2p.NewP2P),
fx.Extract(n), fx.Extract(n),
) )
......
...@@ -180,6 +180,8 @@ func recordValidator(ps pstore.Peerstore) record.Validator { ...@@ -180,6 +180,8 @@ func recordValidator(ps pstore.Peerstore) record.Validator {
// libp2p // libp2p
var ipfsp2p = fx.Options( var ipfsp2p = fx.Options(
fx.Provide(peerstore),
fx.Provide(p2pAddrFilters), fx.Provide(p2pAddrFilters),
fx.Provide(p2pBandwidthCounter), fx.Provide(p2pBandwidthCounter),
fx.Provide(p2pPNet), fx.Provide(p2pPNet),
...@@ -564,7 +566,7 @@ func pinning(bstore bstore.Blockstore, ds format.DAGService, repo repo.Repo) (pi ...@@ -564,7 +566,7 @@ func pinning(bstore bstore.Blockstore, ds format.DAGService, repo repo.Repo) (pi
return pinning, nil return pinning, nil
} }
func onlineDagCtor(bs bserv.BlockService) format.DAGService { func dagCtor(bs bserv.BlockService) format.DAGService {
return merkledag.NewDAGService(bs) return merkledag.NewDAGService(bs)
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论