diff options
author | Spencer T Brody <spencer@mongodb.com> | 2014-07-08 16:56:30 -0400 |
---|---|---|
committer | Spencer T Brody <spencer@mongodb.com> | 2014-07-09 11:54:38 -0400 |
commit | 80f039c34373228fd7720ab3782cf1755397116d (patch) | |
tree | ca04a93dfbff1ba847a6bbcb9a688d42cc0b71f6 /src/mongo/db/repl/repl_settings.h | |
parent | 0239597c2a2f1689a2969acd9b776dad3582ac7e (diff) | |
download | mongo-80f039c34373228fd7720ab3782cf1755397116d.tar.gz |
SERVER-14420 Get rid of global replSettings object
Diffstat (limited to 'src/mongo/db/repl/repl_settings.h')
-rw-r--r-- | src/mongo/db/repl/repl_settings.h | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/src/mongo/db/repl/repl_settings.h b/src/mongo/db/repl/repl_settings.h index 253d7d9a2d3..1cd26081bb3 100644 --- a/src/mongo/db/repl/repl_settings.h +++ b/src/mongo/db/repl/repl_settings.h @@ -94,8 +94,44 @@ namespace repl { discoveredSeeds_mx("ReplSettings::discoveredSeeds") { } + // TODO(spencer): Remove explicit copy constructor after we no longer have mutable state + // in ReplSettings. + ReplSettings(const ReplSettings& other) : + slave(other.slave), + master(other.master), + fastsync(other.fastsync), + autoresync(other.autoresync), + slavedelay(other.slavedelay), + oplogSize(other.oplogSize), + source(other.source), + only(other.only), + pretouch(other.pretouch), + replSet(other.replSet), + rsIndexPrefetch(other.rsIndexPrefetch), + discoveredSeeds(other.discoveredSeeds), + discoveredSeeds_mx("ReplSettings::discoveredSeeds"), + reconfig(other.reconfig.getOwned()) {} + + ReplSettings& operator=(const ReplSettings& other) { + if (this == &other) return *this; + + slave = other.slave; + master = other.master; + fastsync = other.fastsync; + autoresync = other.autoresync; + slavedelay = other.slavedelay; + oplogSize = other.oplogSize; + source = other.source; + only = other.only; + pretouch = other.pretouch; + replSet = other.replSet; + rsIndexPrefetch = other.rsIndexPrefetch; + discoveredSeeds = other.discoveredSeeds; + reconfig = other.reconfig.getOwned(); + return *this; + } + }; - extern ReplSettings replSettings; } // namespace repl } // namespace mongo |