Browse Source

fix roundRobin

hossinasaadi 1 year ago
parent
commit
9a2ab9b6a3
1 changed files with 2 additions and 1 deletions
  1. 2 1
      app/router/balancing.go

+ 2 - 1
app/router/balancing.go

@@ -2,6 +2,7 @@ package router
 
 import (
 	"context"
+	reflect "reflect"
 	sync "sync"
 
 	"github.com/xtls/xray-core/common/dice"
@@ -49,7 +50,7 @@ func (s *RoundRobinStrategy) PickOutbound(tags []string) string {
 	if len(tags) == 0 {
 		panic("0 tags")
 	}
-	if s.roundRobin == nil {
+	if s.roundRobin == nil || !reflect.DeepEqual(s.roundRobin.tags, tags) {
 		s.roundRobin = NewRoundRobin(tags)
 	}
 	tag := s.roundRobin.NextTag()