public interface RPermitExpirableSemaphoreAsync extends RExpirableAsync
Each permit identified by own id and could be released only using its id. Permit id is a 128-bits unique random identifier generated each time during acquiring.
Works in non-fair mode. Therefore order of acquiring is unpredictable.
| Modifier and Type | Method and Description |
|---|---|
RFuture<String> |
acquireAsync()
Acquires a permit and returns its id.
|
RFuture<String> |
acquireAsync(long leaseTime,
TimeUnit unit)
Acquires a permit with defined
leaseTime and return its id. |
RFuture<Void> |
addPermitsAsync(int permits)
Increases or decreases the number of available permits by defined value.
|
RFuture<Integer> |
availablePermitsAsync()
Returns amount of available permits.
|
RFuture<Void> |
releaseAsync(String permitId)
Releases a permit by its id.
|
RFuture<String> |
tryAcquireAsync()
Tries to acquire currently available permit and return its id.
|
RFuture<String> |
tryAcquireAsync(long waitTime,
long leaseTime,
TimeUnit unit)
Tries to acquire currently available permit
with defined
leaseTime and return its id. |
RFuture<String> |
tryAcquireAsync(long waitTime,
TimeUnit unit)
Tries to acquire currently available permit and return its id.
|
RFuture<Boolean> |
tryReleaseAsync(String permitId)
Tries to release permit by its id.
|
RFuture<Boolean> |
trySetPermitsAsync(int permits)
Tries to set number of permits.
|
RFuture<Boolean> |
updateLeaseTimeAsync(String permitId,
long leaseTime,
TimeUnit unit)
Overrides and updates lease time for defined permit id.
|
clearExpireAsync, expireAsync, expireAsync, expireAtAsync, expireAtAsync, remainTimeToLiveAsyncaddListenerAsync, copyAsync, deleteAsync, dumpAsync, getIdleTimeAsync, isExistsAsync, migrateAsync, moveAsync, removeListenerAsync, renameAsync, renamenxAsync, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, sizeInMemoryAsync, touchAsync, unlinkAsyncRFuture<String> acquireAsync()
RFuture<String> acquireAsync(long leaseTime, TimeUnit unit)
leaseTime and return its id.
Waits if necessary until a permit became available.leaseTime - permit lease timeunit - time unitRFuture<String> tryAcquireAsync()
null
otherwiseRFuture<String> tryAcquireAsync(long waitTime, TimeUnit unit)
waitTime if necessary until a permit became available.waitTime - the maximum time to waitunit - the time unitnull
if the waiting time elapsed before a permit was acquiredRFuture<String> tryAcquireAsync(long waitTime, long leaseTime, TimeUnit unit)
leaseTime and return its id.
Waits up to defined waitTime if necessary until a permit became available.waitTime - the maximum time to waitleaseTime - permit lease time, use -1 to make it permanentunit - the time unitnull
if the waiting time elapsed before a permit was acquiredRFuture<Boolean> tryReleaseAsync(String permitId)
permitId - permit idtrue if a permit has been released and false
otherwiseRFuture<Void> releaseAsync(String permitId)
permitId - - permit idRFuture<Integer> availablePermitsAsync()
RFuture<Boolean> trySetPermitsAsync(int permits)
permits - - number of permitstrue if permits has been set successfully, otherwise false.RFuture<Void> addPermitsAsync(int permits)
permits - amount of permits to add/removeRFuture<Boolean> updateLeaseTimeAsync(String permitId, long leaseTime, TimeUnit unit)
permitId - permit idleaseTime - permit lease time, use -1 to make it permanentunit - the time unittrue if permits has been updated successfully, otherwise false.Copyright © 2014–2021 Redisson. All rights reserved.