X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fshardstrategy%2FShardStrategy.java;h=0a4c54b656bad9c77e4f2500c5df72c64d14819a;hp=2df945edd5e9b9c16ed454e55859611afe8a66e0;hb=c1336f9b497bc6867536a24f629c3f0b002ccb2f;hpb=17d82f582a6bc13c78be3b19954ff8c021180e93 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardstrategy/ShardStrategy.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardstrategy/ShardStrategy.java index 2df945edd5..0a4c54b656 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardstrategy/ShardStrategy.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardstrategy/ShardStrategy.java @@ -11,14 +11,25 @@ package org.opendaylight.controller.cluster.datastore.shardstrategy; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; /** - * The role of ShardStrategy is to figure out which Shards a given piece of data belongs to + * The role of ShardStrategy is to figure out which shards a given piece of data belongs to. */ public interface ShardStrategy { - /** - * Find the name of the shard in which the data pointed to by the specified path belongs in - * - * @param path The location of the data in the logical tree - * @return - */ - String findShard(YangInstanceIdentifier path); + /** + * Find the name of the shard in which the data pointed to by the specified path belongs in. + * + *

+ * Should return the name of the default shard DefaultShardStrategy.DEFAULT_SHARD + * if no matching shard was found + * + * @param path the location of the data in the logical tree + * @return the corresponding shard name. + */ + String findShard(YangInstanceIdentifier path); + + /** + * Get the prefix of the shard that contains the data pointed to by the specified path. + * @param path the location of the data in the logical tree. + * @return the corresponding shards prefix. + */ + YangInstanceIdentifier getPrefixForPath(YangInstanceIdentifier path); }