@InterfaceAudience.Private @InterfaceStability.Evolving public interface QuotaLimiter
Modifier and Type | Method and Description |
---|---|
void |
checkQuota(long writeReqs,
long estimateWriteSize,
long readReqs,
long estimateReadSize,
long estimateWriteCapacityUnit,
long estimateReadCapacityUnit)
Checks if it is possible to execute the specified operation.
|
void |
consumeRead(long size,
long capacityUnit)
Removes or add back some read amount to the quota.
|
void |
consumeWrite(long size,
long capacityUnit)
Removes or add back some write amount to the quota.
|
long |
getReadAvailable()
Returns the number of bytes available to read to avoid exceeding the quota
|
long |
getWriteAvailable()
Returns the number of bytes available to write to avoid exceeding the quota
|
void |
grabQuota(long writeReqs,
long writeSize,
long readReqs,
long readSize,
long writeCapacityUnit,
long readCapacityUnit)
Removes the specified write and read amount from the quota.
|
boolean |
isBypass()
Returns true if the limiter is a noop
|
void checkQuota(long writeReqs, long estimateWriteSize, long readReqs, long estimateReadSize, long estimateWriteCapacityUnit, long estimateReadCapacityUnit) throws RpcThrottlingException
writeReqs
- the write requests that will be checked against the available
quotaestimateWriteSize
- the write size that will be checked against the available
quotareadReqs
- the read requests that will be checked against the available
quotaestimateReadSize
- the read size that will be checked against the available quotaestimateWriteCapacityUnit
- the write capacity unit that will be checked against the
available quotaestimateReadCapacityUnit
- the read capacity unit that will be checked against the
available quotaRpcThrottlingException
- thrown if not enough available resources to perform operation.void grabQuota(long writeReqs, long writeSize, long readReqs, long readSize, long writeCapacityUnit, long readCapacityUnit)
writeReqs
- the write requests that will be removed from the current quotawriteSize
- the write size that will be removed from the current quotareadReqs
- the read requests that will be removed from the current quotareadSize
- the read size that will be removed from the current quotawriteCapacityUnit
- the write capacity unit that will be removed from the current quotareadCapacityUnit
- the read capacity unit num that will be removed from the current quotavoid consumeWrite(long size, long capacityUnit)
void consumeRead(long size, long capacityUnit)
boolean isBypass()
long getReadAvailable()
long getWriteAvailable()
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.