diff options
author | Eliot Horowitz <eliot@10gen.com> | 2012-06-13 23:16:11 -0400 |
---|---|---|
committer | Eliot Horowitz <eliot@10gen.com> | 2012-06-13 23:16:11 -0400 |
commit | 69207de5e627c50231f297f390d9b79eec267173 (patch) | |
tree | 25e47056644dc25b3004083415db468da9451ccb /src/mongo/s/balancer_policy.h | |
parent | cd37e19333d65dae40e019d57a089c277ddc5db3 (diff) | |
download | mongo-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.h | 20 |
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 -- |