Преглед на файлове

reorder condition list to short circuit IP resolution if possible.
Fix #1021

Darien Raymond преди 7 години
родител
ревизия
758723516e
променени са 1 файла, в които са добавени 14 реда и са изтрити 14 реда
  1. 14 14
      app/router/config.go

+ 14 - 14
app/router/config.go

@@ -59,12 +59,12 @@ func (rr *RoutingRule) BuildCondition() (Condition, error) {
 		conds.Add(matcher)
 	}
 
-	if len(rr.Cidr) > 0 {
-		cond, err := cidrToCondition(rr.Cidr, false)
-		if err != nil {
-			return nil, err
-		}
-		conds.Add(cond)
+	if len(rr.UserEmail) > 0 {
+		conds.Add(NewUserMatcher(rr.UserEmail))
+	}
+
+	if len(rr.InboundTag) > 0 {
+		conds.Add(NewInboundTagMatcher(rr.InboundTag))
 	}
 
 	if rr.PortRange != nil {
@@ -75,20 +75,20 @@ func (rr *RoutingRule) BuildCondition() (Condition, error) {
 		conds.Add(NewNetworkMatcher(rr.NetworkList))
 	}
 
-	if len(rr.SourceCidr) > 0 {
-		cond, err := cidrToCondition(rr.SourceCidr, true)
+	if len(rr.Cidr) > 0 {
+		cond, err := cidrToCondition(rr.Cidr, false)
 		if err != nil {
 			return nil, err
 		}
 		conds.Add(cond)
 	}
 
-	if len(rr.UserEmail) > 0 {
-		conds.Add(NewUserMatcher(rr.UserEmail))
-	}
-
-	if len(rr.InboundTag) > 0 {
-		conds.Add(NewInboundTagMatcher(rr.InboundTag))
+	if len(rr.SourceCidr) > 0 {
+		cond, err := cidrToCondition(rr.SourceCidr, true)
+		if err != nil {
+			return nil, err
+		}
+		conds.Add(cond)
 	}
 
 	if conds.Len() == 0 {