summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/bgsync.h
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2017-03-02 15:09:47 -0500
committerBenety Goh <benety@mongodb.com>2017-03-08 14:14:40 -0500
commit6d40cc3281fcd71d59db3c29c7a0b21ba0eecdc6 (patch)
tree37c32c6450aec8fe66d2e4677b9e730307fbcf9a /src/mongo/db/repl/bgsync.h
parentca672940f81c3ea82a935aaa87def6101ff5ac62 (diff)
downloadmongo-6d40cc3281fcd71d59db3c29c7a0b21ba0eecdc6.tar.gz
SERVER-27329 cleaned up BackgroundSync::_rollback() argument.
Moved dependencies on concrete classes and StorageInterace::get() out of _rollback() into BackgroundSync::_produce(). This commit also removes the dependency on StorageInterface::get() from syncRollback().
Diffstat (limited to 'src/mongo/db/repl/bgsync.h')
-rw-r--r--src/mongo/db/repl/bgsync.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mongo/db/repl/bgsync.h b/src/mongo/db/repl/bgsync.h
index 85069066cdd..f83d327e4e4 100644
--- a/src/mongo/db/repl/bgsync.h
+++ b/src/mongo/db/repl/bgsync.h
@@ -51,8 +51,11 @@ class OperationContext;
namespace repl {
+class OplogInterface;
class ReplicationCoordinator;
class ReplicationCoordinatorExternalState;
+class RollbackSource;
+class StorageInterface;
class BackgroundSync {
MONGO_DISALLOW_COPYING(BackgroundSync);
@@ -163,12 +166,13 @@ private:
/**
* Executes a rollback.
- * 'getConnection' returns a connection to the sync source.
*/
void _rollback(OperationContext* opCtx,
- const HostAndPort& source,
+ const OplogInterface& localOplog,
+ const RollbackSource& rollbackSource,
boost::optional<int> requiredRBID,
- stdx::function<DBClientBase*()> getConnection);
+ ReplicationCoordinator* replCoord,
+ StorageInterface* storageInterface);
// restart syncing
void start(OperationContext* opCtx);