1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2026-04-18 03:29:12 -04:00

merge duplicated code

This commit is contained in:
Darien Raymond
2018-10-21 21:27:05 +02:00
parent 275c92b6fa
commit c29f1c8cf0
2 changed files with 39 additions and 42 deletions

View File

@@ -60,22 +60,25 @@ type Instance struct {
running bool
}
func addInboundHandlers(server *Instance, configs []*InboundHandlerConfig) error {
if len(configs) == 0 {
return nil
}
func AddInboundHandler(server *Instance, config *InboundHandlerConfig) error {
inboundManager := server.GetFeature(inbound.ManagerType()).(inbound.Manager)
rawHandler, err := CreateObject(server, config)
if err != nil {
return err
}
handler, ok := rawHandler.(inbound.Handler)
if !ok {
return newError("not an InboundHandler")
}
if err := inboundManager.AddHandler(context.Background(), handler); err != nil {
return err
}
return nil
}
func addInboundHandlers(server *Instance, configs []*InboundHandlerConfig) error {
for _, inboundConfig := range configs {
rawHandler, err := CreateObject(server, inboundConfig)
if err != nil {
return err
}
handler, ok := rawHandler.(inbound.Handler)
if !ok {
return newError("not an InboundHandler")
}
if err := inboundManager.AddHandler(context.Background(), handler); err != nil {
if err := AddInboundHandler(server, inboundConfig); err != nil {
return err
}
}
@@ -83,22 +86,25 @@ func addInboundHandlers(server *Instance, configs []*InboundHandlerConfig) error
return nil
}
func addOutboundHandlers(server *Instance, configs []*OutboundHandlerConfig) error {
if len(configs) == 0 {
return nil
}
func AddOutboundHandler(server *Instance, config *OutboundHandlerConfig) error {
outboundManager := server.GetFeature(outbound.ManagerType()).(outbound.Manager)
rawHandler, err := CreateObject(server, config)
if err != nil {
return err
}
handler, ok := rawHandler.(outbound.Handler)
if !ok {
return newError("not an OutboundHandler")
}
if err := outboundManager.AddHandler(context.Background(), handler); err != nil {
return err
}
return nil
}
func addOutboundHandlers(server *Instance, configs []*OutboundHandlerConfig) error {
for _, outboundConfig := range configs {
rawHandler, err := CreateObject(server, outboundConfig)
if err != nil {
return err
}
handler, ok := rawHandler.(outbound.Handler)
if !ok {
return newError("not an OutboundHandler")
}
if err := outboundManager.AddHandler(context.Background(), handler); err != nil {
if err := AddOutboundHandler(server, outboundConfig); err != nil {
return err
}
}