summaryrefslogtreecommitdiff
path: root/src/mongo/s/balancer_policy.h
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2012-06-13 23:16:11 -0400
committerEliot Horowitz <eliot@10gen.com>2012-06-13 23:16:11 -0400
commit69207de5e627c50231f297f390d9b79eec267173 (patch)
tree25e47056644dc25b3004083415db468da9451ccb /src/mongo/s/balancer_policy.h
parentcd37e19333d65dae40e019d57a089c277ddc5db3 (diff)
downloadmongo-69207de5e627c50231f297f390d9b79eec267173.tar.gz
re-organizing BalancerPolicy a bit more
Diffstat (limited to 'src/mongo/s/balancer_policy.h')
-rw-r--r--src/mongo/s/balancer_policy.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/mongo/s/balancer_policy.h b/src/mongo/s/balancer_policy.h
index a3e05b003f8..613e76752dc 100644
--- a/src/mongo/s/balancer_policy.h
+++ b/src/mongo/s/balancer_policy.h
@@ -85,6 +85,21 @@ namespace mongo {
typedef map< string,ShardInfo > ShardInfoMap;
typedef map< string,vector<BSONObj> > ShardToChunksMap;
+ class DistributionStatus {
+ public:
+ DistributionStatus( const ShardInfoMap& shardInfo,
+ const ShardToChunksMap& shardToChunksMap );
+
+
+ const ShardInfoMap& shardInfo() const { return _shardInfo; }
+ const ShardToChunksMap& shardChunks() const { return _shardChunks; }
+
+
+ private:
+ const ShardInfoMap& _shardInfo;
+ const ShardToChunksMap& _shardChunks;
+ };
+
class BalancerPolicy {
public:
@@ -100,9 +115,8 @@ namespace mongo {
* @returns NULL or MigrateInfo of the best move to make towards balacing the collection.
*/
static MigrateInfo* balance( const string& ns,
- const ShardInfoMap& shardInfo,
- const ShardToChunksMap& shardToChunksMap,
- int balancedLastTime );
+ const DistributionStatus& distribution,
+ int balancedLastTime );
// below exposed for testing purposes only -- treat it as private --