From c7c4effbd213e724aeb10c425d34e4c68e384148 Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Mon, 28 Jun 2021 21:16:48 +0100 Subject: [PATCH] instance manager: create instance with API(fix) --- app/instman/instman.go | 16 ++++++++++++++++ main/distro/all/all.go | 2 ++ 2 files changed, 18 insertions(+) diff --git a/app/instman/instman.go b/app/instman/instman.go index f5b64b488..965d2c476 100644 --- a/app/instman/instman.go +++ b/app/instman/instman.go @@ -3,6 +3,7 @@ package instman import ( "context" core "github.com/v2fly/v2ray-core/v4" + "github.com/v2fly/v2ray-core/v4/common" "github.com/v2fly/v2ray-core/v4/features/extension" ) @@ -66,3 +67,18 @@ func (i InstanceMgr) UntrackInstance(ctx context.Context, name string) error { delete(i.instances, name) return nil } + +func NewInstanceMgr(ctx context.Context, config *Config) (extension.InstanceManagement, error) { + return InstanceMgr{instances: map[string]*core.Instance{}}, nil +} + +func init() { + common.Must(common.RegisterConfig((*Config)(nil), func(ctx context.Context, config interface{}) (interface{}, error) { + var f extension.InstanceManagement + var err error + if f, err = NewInstanceMgr(ctx, config.(*Config)); err != nil { + return nil, err + } + return f, nil + })) +} diff --git a/main/distro/all/all.go b/main/distro/all/all.go index 3d5f6cd0a..58df6baa5 100644 --- a/main/distro/all/all.go +++ b/main/distro/all/all.go @@ -15,6 +15,7 @@ import ( _ "github.com/v2fly/v2ray-core/v4/app/stats/command" // Developer preview services + _ "github.com/v2fly/v2ray-core/v4/app/instman/command" _ "github.com/v2fly/v2ray-core/v4/app/observatory/command" // Other optional features. @@ -30,6 +31,7 @@ import ( _ "github.com/v2fly/v2ray-core/v4/transport/internet/tagged/taggedimpl" // Developer preview features + _ "github.com/v2fly/v2ray-core/v4/app/instman" _ "github.com/v2fly/v2ray-core/v4/app/observatory" // Inbound and outbound proxies.