package opt import ( "fmt" clitypes "gitlink.org.cn/cloudream/jcs-pub/client/types" "gitlink.org.cn/cloudream/jcs-pub/common/pkgs/ioswitch/dag" "gitlink.org.cn/cloudream/jcs-pub/common/pkgs/ioswitch2" cortypes "gitlink.org.cn/cloudream/jcs-pub/coordinator/types" ) func setEnvBySpace(n dag.Node, space *clitypes.UserSpaceDetail) error { if space.RecommendHub == nil { n.Env().ToEnvDriver(true) return nil } switch addr := space.RecommendHub.Address.(type) { case *cortypes.HttpAddressInfo: n.Env().ToEnvWorker(&ioswitch2.HttpHubWorker{Hub: *space.RecommendHub}, true) case *cortypes.GRPCAddressInfo: n.Env().ToEnvWorker(&ioswitch2.HubWorker{Hub: *space.RecommendHub, Address: *addr}, true) default: return fmt.Errorf("unsupported node address type %T", addr) } return nil }