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%2FConfiguration.java;h=c57d2d4733c7e1a6838d137d0a3176da987dabe3;hp=1c3a82a7904a962aebfd101c2ea96701a84830d8;hb=8f81c2a44a3295f6f721268e3fd09e4cbcd02287;hpb=d83a4d45f6ddbd66842a43dcb230f2c81af91696 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Configuration.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Configuration.java index 1c3a82a790..c57d2d4733 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Configuration.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/Configuration.java @@ -9,14 +9,59 @@ package org.opendaylight.controller.cluster.datastore; import com.google.common.base.Optional; -import org.opendaylight.controller.cluster.datastore.shardstrategy.ShardStrategy; - +import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.Set; +import org.opendaylight.controller.cluster.datastore.shardstrategy.ShardStrategy; public interface Configuration { + + /** + * Given a memberName find all the shards that belong on that member and + * return the names of those shards + * + * @param memberName + * @return + */ List getMemberShardNames(String memberName); + + /** + * Given a module namespace return the name of a module + * @param nameSpace + * @return + */ Optional getModuleNameFromNameSpace(String nameSpace); + + /** + * Get a mapping of the module names to it's corresponding ShardStrategy + * @return + */ Map getModuleNameToShardStrategyMap(); + + /** + * Given a module name find all the shardNames corresponding to it + * @param moduleName + * @return + */ List getShardNamesFromModuleName(String moduleName); + + /** + * Given a shardName find all the members on which it belongs + * + * @param shardName + * @return + */ + List getMembersFromShardName(String shardName); + + /** + * + * @return + */ + Set getAllShardNames(); + + /** + * Returns a unique set of all member names configured for all shards. + */ + Collection getUniqueMemberNamesForAllShards(); }