commit | 8d8da598dd2002af4a1a9e97c96dca5df1f72dee | [log] [tgz] |
---|---|---|
author | Jordan Halterman <jordan@opennetworking.org> | Mon Aug 28 14:45:19 2017 -0700 |
committer | Thomas Vachuska <tom@opennetworking.org> | Tue Aug 29 18:27:01 2017 +0000 |
tree | 7d4cdd4ed20ac1ea2788429b784c070ace7622b5 | |
parent | cb1e02cf89bac6ea4a83f4ab4fec674418579169 [diff] [blame] |
Support caching in AsyncDocumentTree primitive Change-Id: I659a5c374891ece7083fa8bad5b1c52c9fa5c8d8
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DistributedPrimitives.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DistributedPrimitives.java index 33b72a4..d116988 100644 --- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DistributedPrimitives.java +++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DistributedPrimitives.java
@@ -20,6 +20,7 @@ import org.onosproject.store.service.AsyncConsistentMultimap; import org.onosproject.store.service.AsyncConsistentTreeMap; import org.onosproject.store.service.AsyncDistributedSet; +import org.onosproject.store.service.AsyncDocumentTree; import java.util.function.Function; @@ -186,4 +187,15 @@ valueEncoder); } + /** + * Creates an instance of {@code AsyncDocumentTree} that caches values on get. + * + * @param tree backing tree + * @return caching tree + * @param <V> tree value type + */ + public static <V> AsyncDocumentTree<V> newCachingDocumentTree(AsyncDocumentTree<V> tree) { + return new CachingAsyncDocumentTree<V>(tree); + } + }