workers: get to executing tasks remotely!
This commit is contained in:
@@ -51,6 +51,7 @@ import (
|
||||
"github.com/filecoin-project/lotus/node/config"
|
||||
"github.com/filecoin-project/lotus/node/hello"
|
||||
"github.com/filecoin-project/lotus/node/impl"
|
||||
"github.com/filecoin-project/lotus/node/impl/common"
|
||||
"github.com/filecoin-project/lotus/node/modules"
|
||||
"github.com/filecoin-project/lotus/node/modules/dtypes"
|
||||
"github.com/filecoin-project/lotus/node/modules/helpers"
|
||||
@@ -263,6 +264,8 @@ func Online() Option {
|
||||
|
||||
// Storage miner
|
||||
ApplyIf(func(s *Settings) bool { return s.nodeType == repo.StorageMiner },
|
||||
Override(new(api.Common), From(new(common.CommonAPI))),
|
||||
|
||||
Override(new(*stores.Index), stores.NewIndex()),
|
||||
Override(new(stores.SectorIndex), From(new(*stores.Index))),
|
||||
Override(new(dtypes.MinerID), modules.MinerID),
|
||||
|
||||
+10
-1
@@ -138,8 +138,17 @@ func as(in interface{}, as interface{}) interface{} {
|
||||
|
||||
return reflect.MakeFunc(ctype, func(args []reflect.Value) (results []reflect.Value) {
|
||||
outs := reflect.ValueOf(in).Call(args)
|
||||
|
||||
out := reflect.New(outType.Elem())
|
||||
out.Elem().Set(outs[0])
|
||||
if outs[0].Type().AssignableTo(outType.Elem()) {
|
||||
// Out: Iface = In: *Struct; Out: Iface = In: OtherIface
|
||||
out.Elem().Set(outs[0])
|
||||
} else {
|
||||
// Out: Iface = &(In: Struct)
|
||||
t := reflect.New(outs[0].Type())
|
||||
t.Elem().Set(outs[0])
|
||||
out.Elem().Set(t)
|
||||
}
|
||||
outs[0] = out.Elem()
|
||||
|
||||
return outs
|
||||
|
||||
Reference in New Issue
Block a user