Bucket.addTokens(long)
, follows the same semantic.BlockingBucket
view of this bucket, that provides operations which are able to block caller thread.GridBucket
found that bucket state has been lost,
and GridBucket
is unable to repair bucket state or recovery strategy is RecoveryStrategy.THROW_BUCKET_NOT_FOUND_EXCEPTION
.SynchronizationStrategy.LOCK_FREE
synchronization strategy.ConfigurationBuilder
BlockingBucket.consume(long, BlockingStrategy)
BlockingBucket.consume(long, BlockingStrategy)
but ignores interrupts(just restores interruption flag on exit).BlockingBucket.consumeUninterruptibly(long, UninterruptibleBlockingStrategy)
extensionClass
.SynchronizationStrategy.NONE
ConsumptionProbe.isConsumed()
returns true, else time in nanos which need to wait until requested amount of tokens will be refilledRefill
that does refill of tokens in greedy manner,
it will try to add the tokens to bucket as soon as possible.Refill
that does refill of tokens in intervally manner.LockFreeBucket
).tokens
is consumed.ScheduledExecutorService
because of wait for tokens refill
in result of interaction with AsyncScheduledBucket
BlockingBucket
BlockingBucket
tokens
is rejected.Bucket.replaceConfiguration(BucketConfiguration)
, follows the same rules and semantic.TimeMeter
which works around System.currentTimeMillis()
TimeMeter
which works around System.nanoTime()
listener
.Bucket.tryConsume(long)
, follows the same semantic.AsyncScheduledBucket.tryConsume(long, long, ScheduledExecutorService)
BlockingBucket.tryConsume(long, long, BlockingStrategy)
BlockingBucket.tryConsume(long, long, BlockingStrategy)
BlockingBucket.tryConsume(long, long, BlockingStrategy)
Bucket.tryConsumeAndReturnRemaining(long)
, follows the same semantic.Bucket.tryConsumeAsMuchAsPossible()
, follows the same semantic.Bucket.tryConsumeAsMuchAsPossible(long)
, follows the same semantic.limit
.BlockingBucket.tryConsume(long, long, BlockingStrategy)
but ignores interrupts(just restores interruption flag on exit).BlockingBucket.tryConsumeUninterruptibly(long, long, UninterruptibleBlockingStrategy)
BlockingBucket.tryConsumeUninterruptibly(long, long, UninterruptibleBlockingStrategy)
BlockingBucket.tryConsumeUninterruptibly(long, long, UninterruptibleBlockingStrategy)
customTimeMeter
time meter for buckets that will be created by this builder.TimeMeter.SYSTEM_MILLISECONDS
as time meter for buckets that will be created by this builder.TimeMeter.SYSTEM_NANOTIME
as time meter for buckets that will be created by this builder.synchronizationStrategy
for buckets that will be created by this builder.Copyright © 2018. All rights reserved.