Showing
9 changed files
with
16 additions
and
55 deletions
... | @@ -3,7 +3,7 @@ package org.onlab.onos.store.service; | ... | @@ -3,7 +3,7 @@ package org.onlab.onos.store.service; |
3 | import java.util.List; | 3 | import java.util.List; |
4 | 4 | ||
5 | /** | 5 | /** |
6 | - * Service for running administrative tasks on a Database. | 6 | + * Service interface for running administrative tasks on a Database. |
7 | */ | 7 | */ |
8 | public interface DatabaseAdminService { | 8 | public interface DatabaseAdminService { |
9 | 9 | ... | ... |
... | @@ -2,13 +2,17 @@ package org.onlab.onos.store.service; | ... | @@ -2,13 +2,17 @@ package org.onlab.onos.store.service; |
2 | 2 | ||
3 | import java.util.List; | 3 | import java.util.List; |
4 | 4 | ||
5 | +/** | ||
6 | + * Service interface for a strongly consistent and durable | ||
7 | + * key value data store. | ||
8 | + */ | ||
5 | public interface DatabaseService { | 9 | public interface DatabaseService { |
6 | 10 | ||
7 | /** | 11 | /** |
8 | * Performs a read on the database. | 12 | * Performs a read on the database. |
9 | * @param request read request. | 13 | * @param request read request. |
10 | * @return ReadResult | 14 | * @return ReadResult |
11 | - * @throws DatabaseException | 15 | + * @throws DatabaseException if there is a failure in executing read. |
12 | */ | 16 | */ |
13 | ReadResult read(ReadRequest request); | 17 | ReadResult read(ReadRequest request); |
14 | 18 | ||
... | @@ -16,7 +20,7 @@ public interface DatabaseService { | ... | @@ -16,7 +20,7 @@ public interface DatabaseService { |
16 | * Performs a batch read operation on the database. | 20 | * Performs a batch read operation on the database. |
17 | * The main advantage of batch read operation is parallelization. | 21 | * The main advantage of batch read operation is parallelization. |
18 | * @param batch batch of read requests to execute. | 22 | * @param batch batch of read requests to execute. |
19 | - * @return | 23 | + * @return batch read result. |
20 | */ | 24 | */ |
21 | List<OptionalResult<ReadResult, DatabaseException>> batchRead(List<ReadRequest> batch); | 25 | List<OptionalResult<ReadResult, DatabaseException>> batchRead(List<ReadRequest> batch); |
22 | 26 | ||
... | @@ -24,7 +28,7 @@ public interface DatabaseService { | ... | @@ -24,7 +28,7 @@ public interface DatabaseService { |
24 | * Performs a write operation on the database. | 28 | * Performs a write operation on the database. |
25 | * @param request | 29 | * @param request |
26 | * @return write result. | 30 | * @return write result. |
27 | - * @throws DatabaseException | 31 | + * @throws DatabaseException if there is failure in execution write. |
28 | */ | 32 | */ |
29 | WriteResult write(WriteRequest request); | 33 | WriteResult write(WriteRequest request); |
30 | 34 | ... | ... |
... | @@ -5,16 +5,16 @@ package org.onlab.onos.store.service; | ... | @@ -5,16 +5,16 @@ package org.onlab.onos.store.service; |
5 | * <p> | 5 | * <p> |
6 | * If a result is present, get() will return it otherwise get() will throw | 6 | * If a result is present, get() will return it otherwise get() will throw |
7 | * the exception that was encountered in the process of generating the result. | 7 | * the exception that was encountered in the process of generating the result. |
8 | - * | 8 | + * </p> |
9 | * @param <R> type of result. | 9 | * @param <R> type of result. |
10 | * @param <E> exception encountered in generating the result. | 10 | * @param <E> exception encountered in generating the result. |
11 | */ | 11 | */ |
12 | public interface OptionalResult<R, E extends Throwable> { | 12 | public interface OptionalResult<R, E extends Throwable> { |
13 | 13 | ||
14 | /** | 14 | /** |
15 | - * Returns the result. | 15 | + * Returns the result or throws an exception if there is no |
16 | + * valid result. | ||
16 | * @return result | 17 | * @return result |
17 | - * @throws E if there is no valid result. | ||
18 | */ | 18 | */ |
19 | public R get(); | 19 | public R get(); |
20 | 20 | ... | ... |
... | @@ -2,7 +2,8 @@ package org.onlab.onos.store.service; | ... | @@ -2,7 +2,8 @@ package org.onlab.onos.store.service; |
2 | 2 | ||
3 | /** | 3 | /** |
4 | * Exception that indicates a precondition failure. | 4 | * Exception that indicates a precondition failure. |
5 | - * <ul>Scenarios that can cause this exception: | 5 | + * Scenarios that can cause this exception: |
6 | + * <ul> | ||
6 | * <li>An operation that attempts to write a new value iff the current value is equal | 7 | * <li>An operation that attempts to write a new value iff the current value is equal |
7 | * to some specified value.</li> | 8 | * to some specified value.</li> |
8 | * <li>An operation that attempts to write a new value iff the current version | 9 | * <li>An operation that attempts to write a new value iff the current version |
... | @@ -11,4 +12,4 @@ package org.onlab.onos.store.service; | ... | @@ -11,4 +12,4 @@ package org.onlab.onos.store.service; |
11 | */ | 12 | */ |
12 | @SuppressWarnings("serial") | 13 | @SuppressWarnings("serial") |
13 | public class PreconditionFailedException extends DatabaseException { | 14 | public class PreconditionFailedException extends DatabaseException { |
14 | -} | 15 | +} |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -12,6 +12,7 @@ import net.kuujo.copycat.StateMachine; | ... | @@ -12,6 +12,7 @@ import net.kuujo.copycat.StateMachine; |
12 | import org.onlab.onos.store.serializers.KryoSerializer; | 12 | import org.onlab.onos.store.serializers.KryoSerializer; |
13 | import org.onlab.onos.store.service.ReadRequest; | 13 | import org.onlab.onos.store.service.ReadRequest; |
14 | import org.onlab.onos.store.service.ReadResult; | 14 | import org.onlab.onos.store.service.ReadResult; |
15 | +import org.onlab.onos.store.service.VersionedValue; | ||
15 | import org.onlab.onos.store.service.WriteRequest; | 16 | import org.onlab.onos.store.service.WriteRequest; |
16 | import org.onlab.onos.store.service.WriteResult; | 17 | import org.onlab.onos.store.service.WriteResult; |
17 | import org.onlab.util.KryoNamespace; | 18 | import org.onlab.util.KryoNamespace; | ... | ... |
... | @@ -33,6 +33,7 @@ import org.onlab.onos.store.serializers.ImmutableSetSerializer; | ... | @@ -33,6 +33,7 @@ import org.onlab.onos.store.serializers.ImmutableSetSerializer; |
33 | import org.onlab.onos.store.serializers.KryoSerializer; | 33 | import org.onlab.onos.store.serializers.KryoSerializer; |
34 | import org.onlab.onos.store.service.ReadRequest; | 34 | import org.onlab.onos.store.service.ReadRequest; |
35 | import org.onlab.onos.store.service.ReadResult; | 35 | import org.onlab.onos.store.service.ReadResult; |
36 | +import org.onlab.onos.store.service.VersionedValue; | ||
36 | import org.onlab.onos.store.service.WriteRequest; | 37 | import org.onlab.onos.store.service.WriteRequest; |
37 | import org.onlab.onos.store.service.WriteResult; | 38 | import org.onlab.onos.store.service.WriteResult; |
38 | import org.onlab.util.KryoNamespace; | 39 | import org.onlab.util.KryoNamespace; | ... | ... |
core/store/dist/src/main/java/org/onlab/onos/store/service/impl/VersionedValue.java
deleted
100644 → 0
1 | -package org.onlab.onos.store.service.impl; | ||
2 | - | ||
3 | -import java.util.Arrays; | ||
4 | - | ||
5 | -/** | ||
6 | - * Wrapper object that holds the object (as byte array) and its version. | ||
7 | - */ | ||
8 | -public class VersionedValue { | ||
9 | - | ||
10 | - private final byte[] value; | ||
11 | - private final long version; | ||
12 | - | ||
13 | - /** | ||
14 | - * Creates a new instance with the specified value and version. | ||
15 | - * @param value | ||
16 | - * @param version | ||
17 | - */ | ||
18 | - public VersionedValue(byte[] value, long version) { | ||
19 | - this.value = value; | ||
20 | - this.version = version; | ||
21 | - } | ||
22 | - | ||
23 | - /** | ||
24 | - * Returns the value. | ||
25 | - * @return value. | ||
26 | - */ | ||
27 | - public byte[] value() { | ||
28 | - return value; | ||
29 | - } | ||
30 | - | ||
31 | - /** | ||
32 | - * Returns the version. | ||
33 | - * @return version. | ||
34 | - */ | ||
35 | - public long version() { | ||
36 | - return version; | ||
37 | - } | ||
38 | - | ||
39 | - @Override | ||
40 | - public String toString() { | ||
41 | - return "VersionedValue [value=" + Arrays.toString(value) + ", version=" | ||
42 | - + version + "]"; | ||
43 | - } | ||
44 | -} |
-
Please register or login to post a comment