类 AbstractTokenBucket

java.lang.Object
com.alibaba.csp.sentinel.slots.block.flow.tokenbucket.AbstractTokenBucket
所有已实现的接口:
TokenBucket
直接已知子类:
DefaultTokenBucket, StrictTokenBucket

public class AbstractTokenBucket extends Object implements TokenBucket
作者:
LearningGp
  • 字段详细资料

    • MAX_UNIT_PRODUCE_NUM

      protected final long MAX_UNIT_PRODUCE_NUM
      另请参阅:
    • currentTokenNum

      protected volatile long currentTokenNum
      Number of tokens left in the bucket
    • nextProduceTime

      protected volatile long nextProduceTime
      Time of next production token
    • unitProduceNum

      protected final long unitProduceNum
      Number of tokens produced per unit of time
    • maxTokenNum

      protected final long maxTokenNum
      Maximum number of tokens stored in the bucket
    • intervalInMs

      protected final long intervalInMs
    • startTime

      protected final long startTime
  • 构造器详细资料

    • AbstractTokenBucket

      public AbstractTokenBucket(long unitProduceNum, long maxTokenNum, boolean fullStart, long intervalInMs)
  • 方法详细资料

    • tryConsume

      public boolean tryConsume(long tokenNum)
      指定者:
      tryConsume 在接口中 TokenBucket
    • refreshCurrentTokenNum

      public void refreshCurrentTokenNum(long currentTimestamp)
      指定者:
      refreshCurrentTokenNum 在接口中 TokenBucket
    • calProducedTokenNum

      protected long calProducedTokenNum(long currentTimestamp)
    • updateNextProduceTime

      protected void updateNextProduceTime(long currentTimestamp)
    • refreshTokenAndGetCurrentTokenNum

      public long refreshTokenAndGetCurrentTokenNum()
    • getCurrentTokenNum

      public long getCurrentTokenNum()