diff options
Diffstat (limited to 'src/mongo/db/repl/is_master_response.cpp')
-rw-r--r-- | src/mongo/db/repl/is_master_response.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/repl/is_master_response.cpp b/src/mongo/db/repl/is_master_response.cpp index 06e0d1c1896..6c1efaa73a2 100644 --- a/src/mongo/db/repl/is_master_response.cpp +++ b/src/mongo/db/repl/is_master_response.cpp @@ -47,6 +47,7 @@ const std::string kIsMasterFieldName = "ismaster"; const std::string kSecondaryFieldName = "secondary"; const std::string kSetNameFieldName = "setName"; const std::string kSetVersionFieldName = "setVersion"; +const std::string kTopologyVersionFieldName = "topologyVersion"; const std::string kHostsFieldName = "hosts"; const std::string kPassivesFieldName = "passives"; const std::string kArbitersFieldName = "arbiters"; @@ -102,6 +103,11 @@ IsMasterResponse::IsMasterResponse() _shutdownInProgress(false) {} void IsMasterResponse::addToBSON(BSONObjBuilder* builder) const { + if (_topologyVersion) { + BSONObjBuilder topologyVersionBuilder(builder->subobjStart(kTopologyVersionFieldName)); + _topologyVersion->serialize(&topologyVersionBuilder); + } + if (_hostsSet) { std::vector<std::string> hosts; for (size_t i = 0; i < _hosts.size(); ++i) { @@ -538,6 +544,10 @@ void IsMasterResponse::setShouldBuildIndexes(bool buildIndexes) { _buildIndexes = buildIndexes; } +void IsMasterResponse::setTopologyVersion(TopologyVersion topologyVersion) { + _topologyVersion = topologyVersion; +} + void IsMasterResponse::setSlaveDelay(Seconds slaveDelay) { _slaveDelaySet = true; _slaveDelay = slaveDelay; |