Bladeren bron

function to create router

V2Ray 10 jaren geleden
bovenliggende
commit
0a8e283e55
1 gewijzigde bestanden met toevoegingen van 13 en 0 verwijderingen
  1. 13 0
      app/router/router.go

+ 13 - 0
app/router/router.go

@@ -1,10 +1,16 @@
 package router
 
 import (
+	"errors"
+
 	"github.com/v2ray/v2ray-core/app/point/config"
 	v2net "github.com/v2ray/v2ray-core/common/net"
 )
 
+var (
+	RouterNotFound = errors.New("Router not found.")
+)
+
 type Router interface {
 	TakeDetour(v2net.Packet) (config.ConnectionTag, error)
 }
@@ -22,3 +28,10 @@ func RegisterRouter(name string, factory RouterFactory) error {
 	routerCache[name] = factory
 	return nil
 }
+
+func CreateRouter(name string, rawConfig interface{}) (Router, error) {
+	if factory, found := routerCache[name]; found {
+		return factory.Create(rawConfig)
+	}
+	return nil, RouterNotFound
+}