Package org.redisson.api
Interface RSemaphoreAsync
-
- All Superinterfaces:
RExpirableAsync,RObjectAsync
- All Known Subinterfaces:
RSemaphore
- All Known Implementing Classes:
RedissonQueueSemaphore,RedissonSemaphore
public interface RSemaphoreAsync extends RExpirableAsync
Async interface of Redis basedSemaphore.Works in non-fair mode. Therefore order of acquiring is unpredictable.
- Author:
- Nikita Koksharov
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description RFuture<Void>acquireAsync()Acquires a permit.RFuture<Void>acquireAsync(int permits)Acquires defined amount ofpermits.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<Integer>drainPermitsAsync()Acquires and returns all permits that are immediately available.RFuture<Void>releaseAsync()Releases a permit.RFuture<Void>releaseAsync(int permits)Releases defined amount ofpermits.RFuture<Boolean>tryAcquireAsync()Acquires a permit.RFuture<Boolean>tryAcquireAsync(int permits)Tries to acquire defined amount of currently availablepermits.RFuture<Boolean>tryAcquireAsync(int permits, long waitTime, TimeUnit unit)Tries to acquire defined amount of currently availablepermits.RFuture<Boolean>tryAcquireAsync(long waitTime, TimeUnit unit)Tries to acquire currently available permit.RFuture<Boolean>trySetPermitsAsync(int permits)Tries to set number of permits.-
Methods inherited from interface org.redisson.api.RExpirableAsync
clearExpireAsync, expireAsync, expireAsync, expireAtAsync, expireAtAsync, remainTimeToLiveAsync
-
Methods inherited from interface org.redisson.api.RObjectAsync
addListenerAsync, copyAsync, deleteAsync, dumpAsync, getIdleTimeAsync, isExistsAsync, migrateAsync, moveAsync, removeListenerAsync, renameAsync, renamenxAsync, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, sizeInMemoryAsync, touchAsync, unlinkAsync
-
-
-
-
Method Detail
-
tryAcquireAsync
RFuture<Boolean> tryAcquireAsync()
Acquires a permit. Waits if necessary until a permit became available.- Returns:
trueif a permit was acquired andfalseotherwise
-
tryAcquireAsync
RFuture<Boolean> tryAcquireAsync(int permits)
Tries to acquire defined amount of currently availablepermits.- Parameters:
permits- the number of permits to acquire- Returns:
trueif permits were acquired andfalseotherwise
-
acquireAsync
RFuture<Void> acquireAsync()
Acquires a permit. Waits if necessary until a permit became available.- Returns:
- void
-
acquireAsync
RFuture<Void> acquireAsync(int permits)
Acquires defined amount ofpermits. Waits if necessary until all permits became available.- Parameters:
permits- the number of permits to acquire- Returns:
- void
- Throws:
IllegalArgumentException- ifpermitsis negative
-
releaseAsync
RFuture<Void> releaseAsync(int permits)
Releases defined amount ofpermits.- Parameters:
permits- amount- Returns:
- void
-
trySetPermitsAsync
RFuture<Boolean> trySetPermitsAsync(int permits)
Tries to set number of permits.- Parameters:
permits- - number of permits- Returns:
trueif permits has been set successfully, otherwisefalse.
-
tryAcquireAsync
RFuture<Boolean> tryAcquireAsync(long waitTime, TimeUnit unit)
Tries to acquire currently available permit. Waits up to definedwaitTimeif necessary until a permit became available.- Parameters:
waitTime- the maximum time to waitunit- the time unit- Returns:
trueif a permit was acquired andfalseotherwise
-
tryAcquireAsync
RFuture<Boolean> tryAcquireAsync(int permits, long waitTime, TimeUnit unit)
Tries to acquire defined amount of currently availablepermits. Waits up to definedwaitTimeif necessary until all permits became available.- Parameters:
permits- amount of permitswaitTime- the maximum time to waitunit- the time unit- Returns:
trueif permits were acquired andfalseotherwise
-
addPermitsAsync
RFuture<Void> addPermitsAsync(int permits)
Increases or decreases the number of available permits by defined value.- Parameters:
permits- amount of permits to add/remove
-
availablePermitsAsync
RFuture<Integer> availablePermitsAsync()
Returns amount of available permits.- Returns:
- number of permits
-
-