public class UnlimitedSemaphore<Rejected extends java.lang.Enum<Rejected>> extends java.lang.Object implements BackPressure<Rejected>, PrecipiceSemaphore
| Constructor and Description |
|---|
UnlimitedSemaphore() |
| Modifier and Type | Method and Description |
|---|---|
Rejected |
acquirePermit(long number,
long nanoTime)
Acquires the request permits for task execution.
|
long |
currentConcurrencyLevel() |
long |
maxConcurrencyLevel() |
<Result extends java.lang.Enum<Result> & Failable> |
registerGuardRail(GuardRail<Result,Rejected> guardRail)
This method will register a guard rail with this back pressure mechanism.
|
void |
releasePermit(long number,
Failable result,
long nanoTime)
Releases permits while considering the result of the execution.
|
void |
releasePermit(long number,
long nanoTime)
Releases permits without considering the result of the execution.
|
long |
remainingCapacity() |
public Rejected acquirePermit(long number, long nanoTime)
BackPressureacquirePermit in interface BackPressure<Rejected extends java.lang.Enum<Rejected>>number - of permits requestednanoTime - currentInterval nanosecond timepublic void releasePermit(long number,
long nanoTime)
BackPressurereleasePermit in interface BackPressure<Rejected extends java.lang.Enum<Rejected>>number - of permits to releasenanoTime - currentInterval nanosecond timepublic void releasePermit(long number,
Failable result,
long nanoTime)
BackPressurereleasePermit in interface BackPressure<Rejected extends java.lang.Enum<Rejected>>number - of permits to releaseresult - of the task executionnanoTime - currentInterval nanosecond timepublic <Result extends java.lang.Enum<Result> & Failable> void registerGuardRail(GuardRail<Result,Rejected> guardRail)
BackPressureregisterGuardRail in interface BackPressure<Rejected extends java.lang.Enum<Rejected>>guardRail - the guard rail registeredpublic long maxConcurrencyLevel()
maxConcurrencyLevel in interface PrecipiceSemaphorepublic long remainingCapacity()
remainingCapacity in interface PrecipiceSemaphorepublic long currentConcurrencyLevel()
currentConcurrencyLevel in interface PrecipiceSemaphoreCopyright © 2014 Tim Brooks. All Rights Reserved.