Module io.github.bucket4j.core
Class BasedOnTimeForRefillingBucketUpToMaxExpirationAfterWriteStrategy
- java.lang.Object
-
- io.github.bucket4j.distributed.expiration.BasedOnTimeForRefillingBucketUpToMaxExpirationAfterWriteStrategy
-
- All Implemented Interfaces:
ExpirationAfterWriteStrategy,ComparableByContent<BasedOnTimeForRefillingBucketUpToMaxExpirationAfterWriteStrategy>
public class BasedOnTimeForRefillingBucketUpToMaxExpirationAfterWriteStrategy extends Object implements ExpirationAfterWriteStrategy, ComparableByContent<BasedOnTimeForRefillingBucketUpToMaxExpirationAfterWriteStrategy>
-
-
Field Summary
Fields Modifier and Type Field Description static SerializationHandle<BasedOnTimeForRefillingBucketUpToMaxExpirationAfterWriteStrategy>SERIALIZATION_HANDLE
-
Constructor Summary
Constructors Constructor Description BasedOnTimeForRefillingBucketUpToMaxExpirationAfterWriteStrategy(Duration keepAfterRefillDuration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longcalculateTimeToLiveMillis(RemoteBucketState state, long currentTimeNanos)Calculates the time to live for bucket that is going to be persisted to the remote storagebooleanequalsByContent(BasedOnTimeForRefillingBucketUpToMaxExpirationAfterWriteStrategy other)SerializationHandle<ExpirationAfterWriteStrategy>getSerializationHandle()
-
-
-
Field Detail
-
SERIALIZATION_HANDLE
public static final SerializationHandle<BasedOnTimeForRefillingBucketUpToMaxExpirationAfterWriteStrategy> SERIALIZATION_HANDLE
-
-
Constructor Detail
-
BasedOnTimeForRefillingBucketUpToMaxExpirationAfterWriteStrategy
public BasedOnTimeForRefillingBucketUpToMaxExpirationAfterWriteStrategy(Duration keepAfterRefillDuration)
-
-
Method Detail
-
calculateTimeToLiveMillis
public long calculateTimeToLiveMillis(RemoteBucketState state, long currentTimeNanos)
Description copied from interface:ExpirationAfterWriteStrategyCalculates the time to live for bucket that is going to be persisted to the remote storage- Specified by:
calculateTimeToLiveMillisin interfaceExpirationAfterWriteStrategy- Parameters:
state- the state of bucket that is going to be persisted to the remote storagecurrentTimeNanos- the time of operation- Returns:
- time to live for bucket in milliseconds, negative value must be considered that bucket should be stored forever without expiration
-
getSerializationHandle
public SerializationHandle<ExpirationAfterWriteStrategy> getSerializationHandle()
- Specified by:
getSerializationHandlein interfaceExpirationAfterWriteStrategy
-
equalsByContent
public boolean equalsByContent(BasedOnTimeForRefillingBucketUpToMaxExpirationAfterWriteStrategy other)
- Specified by:
equalsByContentin interfaceComparableByContent<BasedOnTimeForRefillingBucketUpToMaxExpirationAfterWriteStrategy>
-
-