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:
true
if a permit was acquired andfalse
otherwise
-
tryAcquireAsync
RFuture<Boolean> tryAcquireAsync(int permits)
Tries to acquire defined amount of currently availablepermits
.- Parameters:
permits
- the number of permits to acquire- Returns:
true
if permits were acquired andfalse
otherwise
-
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
- ifpermits
is 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:
true
if permits has been set successfully, otherwisefalse
.
-
tryAcquireAsync
RFuture<Boolean> tryAcquireAsync(long waitTime, TimeUnit unit)
Tries to acquire currently available permit. Waits up to definedwaitTime
if necessary until a permit became available.- Parameters:
waitTime
- the maximum time to waitunit
- the time unit- Returns:
true
if a permit was acquired andfalse
otherwise
-
tryAcquireAsync
RFuture<Boolean> tryAcquireAsync(int permits, long waitTime, TimeUnit unit)
Tries to acquire defined amount of currently availablepermits
. Waits up to definedwaitTime
if necessary until all permits became available.- Parameters:
permits
- amount of permitswaitTime
- the maximum time to waitunit
- the time unit- Returns:
true
if permits were acquired andfalse
otherwise
-
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
-
-