summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/repl_settings.h
diff options
context:
space:
mode:
authorSpencer T Brody <spencer@mongodb.com>2014-07-08 16:56:30 -0400
committerSpencer T Brody <spencer@mongodb.com>2014-07-09 11:54:38 -0400
commit80f039c34373228fd7720ab3782cf1755397116d (patch)
treeca04a93dfbff1ba847a6bbcb9a688d42cc0b71f6 /src/mongo/db/repl/repl_settings.h
parent0239597c2a2f1689a2969acd9b776dad3582ac7e (diff)
downloadmongo-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.h38
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