Skip to content

Commit

Permalink
RBucketAsync interface added. #186
Browse files Browse the repository at this point in the history
  • Loading branch information
Nikita committed Jul 16, 2015
1 parent c336a8e commit c996553
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 12 deletions.
2 changes: 1 addition & 1 deletion src/main/java/org/redisson/core/RAtomicLong.java
Expand Up @@ -21,7 +21,7 @@
* @author Nikita Koksharov
*
*/
public interface RAtomicLong extends RAtomicLongAsync {
public interface RAtomicLong extends RExpirable, RAtomicLongAsync {

/**
* Atomically decrements by one the current value.
Expand Down
13 changes: 2 additions & 11 deletions src/main/java/org/redisson/core/RBucket.java
Expand Up @@ -15,32 +15,23 @@
*/
package org.redisson.core;

import io.netty.util.concurrent.Future;

import java.util.concurrent.TimeUnit;

/**
* Any object holder
*
*
* @author Nikita Koksharov
*
* @param <V> - the type of object
*/
public interface RBucket<V> extends RExpirable {
public interface RBucket<V> extends RExpirable, RBucketAsync<V> {

V get();

Future<V> getAsync();

void set(V value);

Future<Void> setAsync(V value);

void set(V value, long timeToLive, TimeUnit timeUnit);

Future<Void> setAsync(V value, long timeToLive, TimeUnit timeUnit);

boolean exists();

Future<Boolean> existsAsync();
}
39 changes: 39 additions & 0 deletions src/main/java/org/redisson/core/RBucketAsync.java
@@ -0,0 +1,39 @@
/**
* Copyright 2014 Nikita Koksharov, Nickolay Borbit
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.redisson.core;

import io.netty.util.concurrent.Future;

import java.util.concurrent.TimeUnit;

/**
* Any object holder
*
* @author Nikita Koksharov
*
* @param <V> - the type of object
*/
public interface RBucketAsync<V> extends RExpirableAsync {

Future<V> getAsync();

Future<Void> setAsync(V value);

Future<Void> setAsync(V value, long timeToLive, TimeUnit timeUnit);

Future<Boolean> existsAsync();

}

0 comments on commit c996553

Please sign in to comment.