From d4d63fad9557cf1e47a0ea15c6cc82e71813f8e9 Mon Sep 17 00:00:00 2001 From: Eric Zhao Date: Fri, 9 Nov 2018 11:08:56 +0800 Subject: [PATCH] Extract flow rule checker from FlowRule - Extract flow rule checker from legacy `passCheck` - Remove redundant code - Refactor FlowSlot (some logic moved from FlowRuleManager) - Rename `Controller` to `TrafficShapingController` Signed-off-by: Eric Zhao --- .../sentinel/slots/block/flow/FlowRule.java | 113 +++------------ .../slots/block/flow/FlowRuleChecker.java | 106 ++++++++++++++ .../slots/block/flow/FlowRuleManager.java | 20 +-- .../sentinel/slots/block/flow/FlowSlot.java | 137 ++++++++++++------ ...ler.java => TrafficShapingController.java} | 12 +- .../flow/controller/DefaultController.java | 11 +- .../controller/RateLimiterController.java | 4 +- .../flow/controller/WarmUpController.java | 14 +- 8 files changed, 245 insertions(+), 172 deletions(-) create mode 100644 sentinel-core/src/main/java/com/alibaba/csp/sentinel/slots/block/flow/FlowRuleChecker.java rename sentinel-core/src/main/java/com/alibaba/csp/sentinel/slots/block/flow/{Controller.java => TrafficShapingController.java} (69%) diff --git a/sentinel-core/src/main/java/com/alibaba/csp/sentinel/slots/block/flow/FlowRule.java b/sentinel-core/src/main/java/com/alibaba/csp/sentinel/slots/block/flow/FlowRule.java index 8c47036c..dc42a89e 100755 --- a/sentinel-core/src/main/java/com/alibaba/csp/sentinel/slots/block/flow/FlowRule.java +++ b/sentinel-core/src/main/java/com/alibaba/csp/sentinel/slots/block/flow/FlowRule.java @@ -15,18 +15,15 @@ */ package com.alibaba.csp.sentinel.slots.block.flow; -import com.alibaba.csp.sentinel.util.StringUtil; import com.alibaba.csp.sentinel.context.Context; import com.alibaba.csp.sentinel.node.DefaultNode; -import com.alibaba.csp.sentinel.node.Node; import com.alibaba.csp.sentinel.slots.block.AbstractRule; import com.alibaba.csp.sentinel.slots.block.RuleConstant; -import com.alibaba.csp.sentinel.slots.clusterbuilder.ClusterBuilderSlot; -/*** +/** *

- * Each flow rule is mainly composed of three factors: grade, - * strategy and controlBehavior. + * Each flow rule is mainly composed of three factors: grade, + * strategy and controlBehavior: *

*