code: private long getInvocationLeastWindowCount(InvocationStat invocationStat, Integer weight, long leastWindowCount) {
          InvocationStatDimension statDimension = invocationStat.getDimension();
          Integer originWeight = statDimension.getOriginWeight();
          if (originWeight == 0) {
              LOGGER.errorWithApp(statDimension.getAppName(), "originWeight is 0,but is invoked. service["
                  + statDimension.getService() + "];ip["
                  + statDimension.getIp() + "].");
              return -1;
          } else if (weight == null) { //如果地址还未被调控过或者已经恢复。
              return leastWindowCount;
          } else if (weight == -1) { //如果地址被剔除
              return -1;
          }
  
          double rate = CalculateUtils.divide(weight, originWeight);
          long invocationLeastWindowCount = CalculateUtils.multiply(leastWindowCount, rate);
          return invocationLeastWindowCount < LEGAL_LEAST_WINDOW_COUNT ? LEGAL_LEAST_WINDOW_COUNT
              : invocationLeastWindowCount;
      }
docs: 根据Invocation的实际权重计算该Invocation的实际最小窗口调用次数 如果目标地址原始权重为0，或者地址已经被剔除则返回-1。
  
  @param invocationStat InvocationStat
  @param weight weight
  @param leastWindowCount original least Window count
  @return leastWindowCount