public class LockFreeBucket extends AbstractBucket
UNSPECIFIED_WAITING_LIMIT
Constructor and Description |
---|
LockFreeBucket(BucketConfiguration configuration) |
Modifier and Type | Method and Description |
---|---|
protected void |
addTokensImpl(long tokensToAdd) |
protected long |
consumeAsMuchAsPossibleImpl(long limit) |
protected boolean |
consumeOrAwaitImpl(long tokensToConsume,
long waitIfBusyNanosLimit,
boolean uninterruptibly,
BlockingStrategy blockingStrategy) |
BucketState |
createSnapshot()
Creates the copy of internal state.
|
BucketConfiguration |
getConfiguration()
Returns configuration of this bucket.
|
String |
toString() |
protected boolean |
tryConsumeImpl(long tokensToConsume) |
addTokens, consume, consume, consumeUninterruptibly, consumeUninterruptibly, tryConsume, tryConsumeAsMuchAsPossible, tryConsumeAsMuchAsPossible
public LockFreeBucket(BucketConfiguration configuration)
protected long consumeAsMuchAsPossibleImpl(long limit)
consumeAsMuchAsPossibleImpl
in class AbstractBucket
protected boolean tryConsumeImpl(long tokensToConsume)
tryConsumeImpl
in class AbstractBucket
protected boolean consumeOrAwaitImpl(long tokensToConsume, long waitIfBusyNanosLimit, boolean uninterruptibly, BlockingStrategy blockingStrategy) throws InterruptedException
consumeOrAwaitImpl
in class AbstractBucket
InterruptedException
protected void addTokensImpl(long tokensToAdd)
addTokensImpl
in class AbstractBucket
public BucketState createSnapshot()
Bucket
This method is designed to be used only for monitoring and testing, you should never use this method for business cases.
public BucketConfiguration getConfiguration()
Bucket
Copyright © 2017. All rights reserved.