@InterfaceAudience.Private @InterfaceStability.Evolving public interface QuotaLimiter
Modifier and Type | Method and Description |
---|---|
void |
checkQuota(long writeReqs,
long estimateWriteSize,
long readReqs,
long estimateReadSize)
Checks if it is possible to execute the specified operation.
|
void |
consumeRead(long size)
Removes or add back some read amount to the quota.
|
void |
consumeWrite(long size)
Removes or add back some write amount to the quota.
|
long |
getReadAvailable() |
long |
getWriteAvailable() |
void |
grabQuota(long writeReqs,
long writeSize,
long readReqs,
long readSize)
Removes the specified write and read amount from the quota.
|
boolean |
isBypass() |
void checkQuota(long writeReqs, long estimateWriteSize, long readReqs, long estimateReadSize) throws ThrottlingException
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 quotaThrottlingException
- thrown if not enough avialable resources to perform operation.void grabQuota(long writeReqs, long writeSize, long readReqs, long readSize)
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 quotavoid consumeWrite(long size)
void consumeRead(long size)
boolean isBypass()
long getReadAvailable()
long getWriteAvailable()
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.