- java.lang.Object
-
- io.github.bucket4j.BucketStateIEEE754
-
- All Implemented Interfaces:
BucketState,ComparableByContent<BucketStateIEEE754>
public class BucketStateIEEE754 extends Object implements BucketState, ComparableByContent<BucketStateIEEE754>
-
-
Field Summary
Fields Modifier and Type Field Description static SerializationHandle<BucketStateIEEE754>SERIALIZATION_HANDLE
-
Constructor Summary
Constructors Constructor Description BucketStateIEEE754(BucketConfiguration configuration, long currentTimeNanos)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTokens(long tokensToAdd)longcalculateDelayNanosAfterWillBePossibleToConsume(long tokensToConsume, long currentTimeNanos, boolean checkTokensToConsumeShouldBeLessThenCapacity)longcalculateFullRefillingTime(long currentTimeNanos)voidconsume(long toConsume)BucketStateIEEE754copy()voidcopyStateFrom(BucketState sourceState)booleanequalsByContent(BucketStateIEEE754 other)voidforceAddTokens(long tokensToAdd)longgetAvailableTokens()BucketConfigurationgetConfiguration()longgetCurrentSize(int bandwidth)MathTypegetMathType()longgetRoundingError(int bandwidth)voidrefillAllBandwidth(long currentTimeNanos)BucketStatereplaceConfiguration(BucketConfiguration newConfiguration, TokensInheritanceStrategy tokensInheritanceStrategy, long currentTimeNanos)voidreset()voidsetConfiguration(BucketConfiguration configuration)StringtoString()
-
-
-
Field Detail
-
SERIALIZATION_HANDLE
public static SerializationHandle<BucketStateIEEE754> SERIALIZATION_HANDLE
-
-
Constructor Detail
-
BucketStateIEEE754
public BucketStateIEEE754(BucketConfiguration configuration, long currentTimeNanos)
-
-
Method Detail
-
getConfiguration
public BucketConfiguration getConfiguration()
- Specified by:
getConfigurationin interfaceBucketState
-
setConfiguration
public void setConfiguration(BucketConfiguration configuration)
- Specified by:
setConfigurationin interfaceBucketState
-
replaceConfiguration
public BucketState replaceConfiguration(BucketConfiguration newConfiguration, TokensInheritanceStrategy tokensInheritanceStrategy, long currentTimeNanos)
- Specified by:
replaceConfigurationin interfaceBucketState
-
forceAddTokens
public void forceAddTokens(long tokensToAdd)
- Specified by:
forceAddTokensin interfaceBucketState
-
copy
public BucketStateIEEE754 copy()
- Specified by:
copyin interfaceBucketState
-
copyStateFrom
public void copyStateFrom(BucketState sourceState)
- Specified by:
copyStateFromin interfaceBucketState
-
getCurrentSize
public long getCurrentSize(int bandwidth)
- Specified by:
getCurrentSizein interfaceBucketState
-
getRoundingError
public long getRoundingError(int bandwidth)
- Specified by:
getRoundingErrorin interfaceBucketState
-
getMathType
public MathType getMathType()
- Specified by:
getMathTypein interfaceBucketState
-
getAvailableTokens
public long getAvailableTokens()
- Specified by:
getAvailableTokensin interfaceBucketState
-
consume
public void consume(long toConsume)
- Specified by:
consumein interfaceBucketState
-
addTokens
public void addTokens(long tokensToAdd)
- Specified by:
addTokensin interfaceBucketState
-
reset
public void reset()
- Specified by:
resetin interfaceBucketState
-
refillAllBandwidth
public void refillAllBandwidth(long currentTimeNanos)
- Specified by:
refillAllBandwidthin interfaceBucketState
-
calculateDelayNanosAfterWillBePossibleToConsume
public long calculateDelayNanosAfterWillBePossibleToConsume(long tokensToConsume, long currentTimeNanos, boolean checkTokensToConsumeShouldBeLessThenCapacity)- Specified by:
calculateDelayNanosAfterWillBePossibleToConsumein interfaceBucketState
-
calculateFullRefillingTime
public long calculateFullRefillingTime(long currentTimeNanos)
- Specified by:
calculateFullRefillingTimein interfaceBucketState
-
equalsByContent
public boolean equalsByContent(BucketStateIEEE754 other)
- Specified by:
equalsByContentin interfaceComparableByContent<BucketStateIEEE754>
-
-