summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/repl')
-rw-r--r--src/mongo/db/repl/abstract_oplog_fetcher.h5
-rw-r--r--src/mongo/db/repl/abstract_oplog_fetcher_test.cpp22
-rw-r--r--src/mongo/db/repl/base_cloner.h5
-rw-r--r--src/mongo/db/repl/bgsync.h2
-rw-r--r--src/mongo/db/repl/callback_completion_guard.h6
-rw-r--r--src/mongo/db/repl/check_quorum_for_config_change_test.cpp3
-rw-r--r--src/mongo/db/repl/collection_cloner.h4
-rw-r--r--src/mongo/db/repl/collection_cloner_test.cpp4
-rw-r--r--src/mongo/db/repl/data_replicator_external_state_mock.h2
-rw-r--r--src/mongo/db/repl/database_cloner.cpp2
-rw-r--r--src/mongo/db/repl/database_cloner.h8
-rw-r--r--src/mongo/db/repl/database_cloner_test.cpp2
-rw-r--r--src/mongo/db/repl/databases_cloner.cpp2
-rw-r--r--src/mongo/db/repl/databases_cloner.h6
-rw-r--r--src/mongo/db/repl/databases_cloner_test.cpp2
-rw-r--r--src/mongo/db/repl/initial_syncer.h12
-rw-r--r--src/mongo/db/repl/multiapplier.h4
-rw-r--r--src/mongo/db/repl/noop_writer.cpp5
-rw-r--r--src/mongo/db/repl/noop_writer.h3
-rw-r--r--src/mongo/db/repl/oplog.cpp16
-rw-r--r--src/mongo/db/repl/oplog.h4
-rw-r--r--src/mongo/db/repl/oplog_applier.h2
-rw-r--r--src/mongo/db/repl/oplog_buffer_collection_test.cpp13
-rw-r--r--src/mongo/db/repl/oplog_buffer_proxy_test.cpp4
-rw-r--r--src/mongo/db/repl/oplog_fetcher.h8
-rw-r--r--src/mongo/db/repl/oplog_fetcher_test.cpp8
-rw-r--r--src/mongo/db/repl/oplog_interface_remote.h5
-rw-r--r--src/mongo/db/repl/oplog_test.cpp2
-rw-r--r--src/mongo/db/repl/repl_set_config.cpp2
-rw-r--r--src/mongo/db/repl/repl_set_tag.cpp2
-rw-r--r--src/mongo/db/repl/replication_coordinator_external_state.h2
-rw-r--r--src/mongo/db/repl/replication_coordinator_external_state_impl.cpp2
-rw-r--r--src/mongo/db/repl/replication_coordinator_impl.cpp13
-rw-r--r--src/mongo/db/repl/replication_coordinator_impl.h10
-rw-r--r--src/mongo/db/repl/replication_coordinator_impl_elect_v1_test.cpp2
-rw-r--r--src/mongo/db/repl/replication_coordinator_impl_heartbeat.cpp2
-rw-r--r--src/mongo/db/repl/replication_coordinator_impl_test.cpp2
-rw-r--r--src/mongo/db/repl/replication_coordinator_mock.h5
-rw-r--r--src/mongo/db/repl/replication_coordinator_test_fixture.cpp5
-rw-r--r--src/mongo/db/repl/replication_coordinator_test_fixture.h2
-rw-r--r--src/mongo/db/repl/reporter.h5
-rw-r--r--src/mongo/db/repl/roll_back_local_operations.h5
-rw-r--r--src/mongo/db/repl/rollback.h5
-rw-r--r--src/mongo/db/repl/rollback_checker.h2
-rw-r--r--src/mongo/db/repl/rollback_impl.h3
-rw-r--r--src/mongo/db/repl/rollback_impl_test.cpp18
-rw-r--r--src/mongo/db/repl/rollback_source_impl.h4
-rw-r--r--src/mongo/db/repl/rs_rollback.cpp2
-rw-r--r--src/mongo/db/repl/rs_rollback.h5
-rw-r--r--src/mongo/db/repl/scatter_gather_runner.cpp2
-rw-r--r--src/mongo/db/repl/scatter_gather_runner.h2
-rw-r--r--src/mongo/db/repl/scatter_gather_test.cpp3
-rw-r--r--src/mongo/db/repl/storage_interface_impl_test.cpp2
-rw-r--r--src/mongo/db/repl/sync_source_resolver.h4
-rw-r--r--src/mongo/db/repl/sync_source_resolver_test.cpp4
-rw-r--r--src/mongo/db/repl/sync_source_selector_mock.h5
-rw-r--r--src/mongo/db/repl/sync_tail.h10
-rw-r--r--src/mongo/db/repl/task_executor_mock.h4
-rw-r--r--src/mongo/db/repl/task_runner.h2
-rw-r--r--src/mongo/db/repl/task_runner_test_fixture.cpp3
-rw-r--r--src/mongo/db/repl/topology_coordinator.h4
-rw-r--r--src/mongo/db/repl/vote_requester.h2
-rw-r--r--src/mongo/db/repl/vote_requester_test.cpp2
63 files changed, 161 insertions, 147 deletions
diff --git a/src/mongo/db/repl/abstract_oplog_fetcher.h b/src/mongo/db/repl/abstract_oplog_fetcher.h
index 11d59fd82a8..81497bf1258 100644
--- a/src/mongo/db/repl/abstract_oplog_fetcher.h
+++ b/src/mongo/db/repl/abstract_oplog_fetcher.h
@@ -29,12 +29,13 @@
#pragma once
+#include <functional>
+
#include "mongo/base/status_with.h"
#include "mongo/client/fetcher.h"
#include "mongo/db/namespace_string.h"
#include "mongo/db/repl/abstract_async_component.h"
#include "mongo/db/repl/optime_with.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
namespace mongo {
@@ -64,7 +65,7 @@ public:
* This function will be called 0 times if startup() fails and at most once after startup()
* returns success.
*/
- using OnShutdownCallbackFn = stdx::function<void(const Status& shutdownStatus)>;
+ using OnShutdownCallbackFn = std::function<void(const Status& shutdownStatus)>;
/**
* Invariants if validation fails on any of the provided arguments.
diff --git a/src/mongo/db/repl/abstract_oplog_fetcher_test.cpp b/src/mongo/db/repl/abstract_oplog_fetcher_test.cpp
index ec3357ee9e8..6fe6ed75665 100644
--- a/src/mongo/db/repl/abstract_oplog_fetcher_test.cpp
+++ b/src/mongo/db/repl/abstract_oplog_fetcher_test.cpp
@@ -158,7 +158,7 @@ TEST_F(AbstractOplogFetcherTest, StartupReturnsOperationFailedIfExecutorFailsToS
taskExecutorMock.shouldFailScheduleWorkRequest = []() { return true; };
MockOplogFetcher oplogFetcher(
- &taskExecutorMock, lastFetched, source, nss, 0, stdx::ref(shutdownState));
+ &taskExecutorMock, lastFetched, source, nss, 0, std::ref(shutdownState));
ASSERT_EQUALS(ErrorCodes::OperationFailed, oplogFetcher.startup());
}
@@ -171,7 +171,7 @@ TEST_F(AbstractOplogFetcherTest, OplogFetcherReturnsOperationFailedIfExecutorFai
[](const executor::RemoteCommandRequestOnAny&) { return true; };
MockOplogFetcher oplogFetcher(
- &taskExecutorMock, lastFetched, source, nss, 0, stdx::ref(shutdownState));
+ &taskExecutorMock, lastFetched, source, nss, 0, std::ref(shutdownState));
ASSERT_FALSE(oplogFetcher.isActive());
ASSERT_OK(oplogFetcher.startup());
@@ -191,7 +191,7 @@ TEST_F(AbstractOplogFetcherTest, ShuttingExecutorDownAfterStartupStopsTheOplogFe
taskExecutorMock.shouldDeferScheduleWorkRequestByOneSecond = []() { return true; };
MockOplogFetcher oplogFetcher(
- &taskExecutorMock, lastFetched, source, nss, 0, stdx::ref(shutdownState));
+ &taskExecutorMock, lastFetched, source, nss, 0, std::ref(shutdownState));
ASSERT_FALSE(oplogFetcher.isActive());
ASSERT_OK(oplogFetcher.startup());
@@ -211,7 +211,7 @@ TEST_F(AbstractOplogFetcherTest, OplogFetcherReturnsCallbackCanceledIfShutdownAf
taskExecutorMock.shouldDeferScheduleWorkRequestByOneSecond = []() { return true; };
MockOplogFetcher oplogFetcher(
- &taskExecutorMock, lastFetched, source, nss, 0, stdx::ref(shutdownState));
+ &taskExecutorMock, lastFetched, source, nss, 0, std::ref(shutdownState));
ASSERT_FALSE(oplogFetcher.isActive());
ASSERT_OK(oplogFetcher.startup());
@@ -261,7 +261,7 @@ TEST_F(AbstractOplogFetcherTest,
source,
nss,
maxFetcherRestarts,
- stdx::ref(*shutdownState));
+ std::ref(*shutdownState));
ON_BLOCK_EXIT([this] { getExecutor().shutdown(); });
@@ -293,7 +293,7 @@ TEST_F(AbstractOplogFetcherTest, OplogFetcherStopsRestartingFetcherIfRestartLimi
source,
nss,
maxFetcherRestarts,
- stdx::ref(*shutdownState));
+ std::ref(*shutdownState));
ON_BLOCK_EXIT([this] { getExecutor().shutdown(); });
@@ -329,7 +329,7 @@ TEST_F(AbstractOplogFetcherTest, OplogFetcherResetsRestartCounterOnSuccessfulFet
source,
nss,
maxFetcherRestarts,
- stdx::ref(*shutdownState));
+ std::ref(*shutdownState));
ON_BLOCK_EXIT([this] { getExecutor().shutdown(); });
ASSERT_OK(oplogFetcher.startup());
@@ -365,7 +365,7 @@ TEST_F(AbstractOplogFetcherTest, OplogFetcherResetsRestartCounterOnSuccessfulFet
class TaskExecutorWithFailureInScheduleRemoteCommand : public unittest::TaskExecutorProxy {
public:
- using ShouldFailRequestFn = stdx::function<bool(const executor::RemoteCommandRequest&)>;
+ using ShouldFailRequestFn = std::function<bool(const executor::RemoteCommandRequest&)>;
TaskExecutorWithFailureInScheduleRemoteCommand(executor::TaskExecutor* executor,
ShouldFailRequestFn shouldFailRequest)
@@ -399,7 +399,7 @@ TEST_F(AbstractOplogFetcherTest,
source,
nss,
maxFetcherRestarts,
- stdx::ref(*shutdownState));
+ std::ref(*shutdownState));
ON_BLOCK_EXIT([this] { getExecutor().shutdown(); });
ASSERT_OK(oplogFetcher.startup());
@@ -430,7 +430,7 @@ TEST_F(AbstractOplogFetcherTest, OplogFetcherTimesOutCorrectlyOnInitialFindReque
source,
nss,
maxFetcherRestarts,
- stdx::ref(*shutdownState));
+ std::ref(*shutdownState));
// Set a finite network timeout for the initial find request.
auto initialFindMaxTime = Milliseconds(10000);
@@ -468,7 +468,7 @@ TEST_F(AbstractOplogFetcherTest, OplogFetcherTimesOutCorrectlyOnRetriedFindReque
source,
nss,
maxFetcherRestarts,
- stdx::ref(*shutdownState));
+ std::ref(*shutdownState));
// Set finite network timeouts for the initial and retried find requests.
auto initialFindMaxTime = Milliseconds(10000);
diff --git a/src/mongo/db/repl/base_cloner.h b/src/mongo/db/repl/base_cloner.h
index 43a1f5365ad..0397d103bc2 100644
--- a/src/mongo/db/repl/base_cloner.h
+++ b/src/mongo/db/repl/base_cloner.h
@@ -29,8 +29,9 @@
#pragma once
+#include <functional>
+
#include "mongo/base/status.h"
-#include "mongo/stdx/functional.h"
namespace mongo {
namespace repl {
@@ -45,7 +46,7 @@ public:
/**
* Callback function to report final status of cloning.
*/
- using CallbackFn = stdx::function<void(const Status&)>;
+ using CallbackFn = std::function<void(const Status&)>;
virtual ~BaseCloner() {}
diff --git a/src/mongo/db/repl/bgsync.h b/src/mongo/db/repl/bgsync.h
index 7e64afae171..79528f0ae88 100644
--- a/src/mongo/db/repl/bgsync.h
+++ b/src/mongo/db/repl/bgsync.h
@@ -29,6 +29,7 @@
#pragma once
+#include <functional>
#include <memory>
#include "mongo/base/status_with.h"
@@ -42,7 +43,6 @@
#include "mongo/db/repl/rollback_impl.h"
#include "mongo/db/repl/sync_source_resolver.h"
#include "mongo/stdx/condition_variable.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
#include "mongo/stdx/thread.h"
#include "mongo/util/net/hostandport.h"
diff --git a/src/mongo/db/repl/callback_completion_guard.h b/src/mongo/db/repl/callback_completion_guard.h
index 9eb4020db7d..4effb49c1f2 100644
--- a/src/mongo/db/repl/callback_completion_guard.h
+++ b/src/mongo/db/repl/callback_completion_guard.h
@@ -31,8 +31,8 @@
#pragma once
#include <boost/optional.hpp>
+#include <functional>
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
#include "mongo/util/assert_util.h"
@@ -52,12 +52,12 @@ public:
* Function to cancel remaining work in caller after setting '_result'.
* This function must be called while holding a lock on the caller's mutex.
*/
- using CancelRemainingWorkInLockFn = stdx::function<void()>;
+ using CancelRemainingWorkInLockFn = std::function<void()>;
/**
* Callback function to pass result to caller at destruction.
*/
- typedef stdx::function<void(const Result& result)> OnCompletionFn;
+ typedef std::function<void(const Result& result)> OnCompletionFn;
/**
* Constructor for this completion guard.
diff --git a/src/mongo/db/repl/check_quorum_for_config_change_test.cpp b/src/mongo/db/repl/check_quorum_for_config_change_test.cpp
index 36807a63c2e..fceb6919e6b 100644
--- a/src/mongo/db/repl/check_quorum_for_config_change_test.cpp
+++ b/src/mongo/db/repl/check_quorum_for_config_change_test.cpp
@@ -31,6 +31,8 @@
#include "mongo/platform/basic.h"
+#include <functional>
+
#include "mongo/base/status.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/repl/check_quorum_for_config_change.h"
@@ -40,7 +42,6 @@
#include "mongo/executor/network_interface_mock.h"
#include "mongo/executor/thread_pool_task_executor_test_fixture.h"
#include "mongo/rpc/metadata/repl_set_metadata.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/memory.h"
#include "mongo/stdx/thread.h"
#include "mongo/stdx/unordered_set.h"
diff --git a/src/mongo/db/repl/collection_cloner.h b/src/mongo/db/repl/collection_cloner.h
index 33ca6ef6e71..817925ed765 100644
--- a/src/mongo/db/repl/collection_cloner.h
+++ b/src/mongo/db/repl/collection_cloner.h
@@ -29,6 +29,7 @@
#pragma once
+#include <functional>
#include <memory>
#include <string>
#include <vector>
@@ -48,7 +49,6 @@
#include "mongo/db/repl/task_runner.h"
#include "mongo/executor/task_executor.h"
#include "mongo/stdx/condition_variable.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
#include "mongo/util/concurrency/thread_pool.h"
#include "mongo/util/net/hostandport.h"
@@ -100,7 +100,7 @@ public:
*
* Used for testing only.
*/
- using CreateClientFn = stdx::function<std::unique_ptr<DBClientConnection>()>;
+ using CreateClientFn = std::function<std::unique_ptr<DBClientConnection>()>;
/**
* Creates CollectionCloner task in inactive state. Use start() to activate cloner.
diff --git a/src/mongo/db/repl/collection_cloner_test.cpp b/src/mongo/db/repl/collection_cloner_test.cpp
index 20c4eb00ae3..71c2aca517c 100644
--- a/src/mongo/db/repl/collection_cloner_test.cpp
+++ b/src/mongo/db/repl/collection_cloner_test.cpp
@@ -79,7 +79,7 @@ public:
}
using MockDBClientConnection::query; // This avoids warnings from -Woverloaded-virtual
- unsigned long long query(stdx::function<void(mongo::DBClientCursorBatchIterator&)> f,
+ unsigned long long query(std::function<void(mongo::DBClientCursorBatchIterator&)> f,
const NamespaceStringOrUUID& nsOrUuid,
mongo::Query query,
const mongo::BSONObj* fieldsToReturn,
@@ -502,7 +502,7 @@ TEST_F(CollectionClonerTest, CollectionClonerReturnsBadValueOnNegativeDocumentCo
class TaskExecutorWithFailureInScheduleRemoteCommand : public unittest::TaskExecutorProxy {
public:
- using ShouldFailRequestFn = stdx::function<bool(const executor::RemoteCommandRequest&)>;
+ using ShouldFailRequestFn = std::function<bool(const executor::RemoteCommandRequest&)>;
TaskExecutorWithFailureInScheduleRemoteCommand(executor::TaskExecutor* executor,
ShouldFailRequestFn shouldFailRequest)
diff --git a/src/mongo/db/repl/data_replicator_external_state_mock.h b/src/mongo/db/repl/data_replicator_external_state_mock.h
index feae8935dff..dfce2ecc5fb 100644
--- a/src/mongo/db/repl/data_replicator_external_state_mock.h
+++ b/src/mongo/db/repl/data_replicator_external_state_mock.h
@@ -88,7 +88,7 @@ public:
bool shouldStopFetchingResult = false;
// Override to change multiApply behavior.
- using MultiApplyFn = stdx::function<StatusWith<OpTime>(
+ using MultiApplyFn = std::function<StatusWith<OpTime>(
OperationContext*, MultiApplier::Operations, OplogApplier::Observer*)>;
MultiApplyFn multiApplyFn;
diff --git a/src/mongo/db/repl/database_cloner.cpp b/src/mongo/db/repl/database_cloner.cpp
index 267428f3831..ebcef5ec93d 100644
--- a/src/mongo/db/repl/database_cloner.cpp
+++ b/src/mongo/db/repl/database_cloner.cpp
@@ -34,6 +34,7 @@
#include "mongo/db/repl/database_cloner.h"
#include <algorithm>
+#include <functional>
#include <iterator>
#include <set>
@@ -42,7 +43,6 @@
#include "mongo/db/commands/list_collections_filter.h"
#include "mongo/db/repl/repl_server_parameters_gen.h"
#include "mongo/db/repl/storage_interface.h"
-#include "mongo/stdx/functional.h"
#include "mongo/util/assert_util.h"
#include "mongo/util/destructor_guard.h"
#include "mongo/util/fail_point_service.h"
diff --git a/src/mongo/db/repl/database_cloner.h b/src/mongo/db/repl/database_cloner.h
index 94b559d8278..e2790956089 100644
--- a/src/mongo/db/repl/database_cloner.h
+++ b/src/mongo/db/repl/database_cloner.h
@@ -80,7 +80,7 @@ public:
* Returns true if the collection described by the info object should be cloned.
* Returns false if the collection should be ignored.
*/
- using ListCollectionsPredicateFn = stdx::function<bool(const BSONObj&)>;
+ using ListCollectionsPredicateFn = std::function<bool(const BSONObj&)>;
/**
* Callback function to report progress of collection cloning. Arguments are:
@@ -89,14 +89,14 @@ public:
*
* Called exactly once for every collection cloner started by the the database cloner.
*/
- using CollectionCallbackFn = stdx::function<void(const Status&, const NamespaceString&)>;
+ using CollectionCallbackFn = std::function<void(const Status&, const NamespaceString&)>;
/**
* Type of function to start a collection cloner.
*/
- using StartCollectionClonerFn = stdx::function<Status(CollectionCloner&)>;
+ using StartCollectionClonerFn = std::function<Status(CollectionCloner&)>;
- using ScheduleDbWorkFn = stdx::function<StatusWith<executor::TaskExecutor::CallbackHandle>(
+ using ScheduleDbWorkFn = std::function<StatusWith<executor::TaskExecutor::CallbackHandle>(
executor::TaskExecutor::CallbackFn)>;
/**
diff --git a/src/mongo/db/repl/database_cloner_test.cpp b/src/mongo/db/repl/database_cloner_test.cpp
index 66948a482ef..ba651b672d3 100644
--- a/src/mongo/db/repl/database_cloner_test.cpp
+++ b/src/mongo/db/repl/database_cloner_test.cpp
@@ -227,7 +227,7 @@ TEST_F(DatabaseClonerTest, DatabaseClonerTransitionsToCompleteIfShutdownBeforeSt
class TaskExecutorWithFailureInScheduleRemoteCommand : public unittest::TaskExecutorProxy {
public:
- using ShouldFailRequestFn = stdx::function<bool(const executor::RemoteCommandRequest&)>;
+ using ShouldFailRequestFn = std::function<bool(const executor::RemoteCommandRequest&)>;
TaskExecutorWithFailureInScheduleRemoteCommand(executor::TaskExecutor* executor,
ShouldFailRequestFn shouldFailRequest)
diff --git a/src/mongo/db/repl/databases_cloner.cpp b/src/mongo/db/repl/databases_cloner.cpp
index 9639734e645..2823cebcc69 100644
--- a/src/mongo/db/repl/databases_cloner.cpp
+++ b/src/mongo/db/repl/databases_cloner.cpp
@@ -34,6 +34,7 @@
#include "mongo/db/repl/databases_cloner.h"
#include <algorithm>
+#include <functional>
#include <iterator>
#include <set>
@@ -43,7 +44,6 @@
#include "mongo/db/repl/databases_cloner_gen.h"
#include "mongo/db/repl/storage_interface.h"
#include "mongo/rpc/get_status_from_command_result.h"
-#include "mongo/stdx/functional.h"
#include "mongo/util/assert_util.h"
#include "mongo/util/destructor_guard.h"
#include "mongo/util/log.h"
diff --git a/src/mongo/db/repl/databases_cloner.h b/src/mongo/db/repl/databases_cloner.h
index 8d94afe26fc..890c6c2a7e1 100644
--- a/src/mongo/db/repl/databases_cloner.h
+++ b/src/mongo/db/repl/databases_cloner.h
@@ -64,10 +64,10 @@ public:
void append(BSONObjBuilder* builder) const;
};
- using IncludeDbFilterFn = stdx::function<bool(const BSONObj& dbInfo)>;
- using OnFinishFn = stdx::function<void(const Status&)>;
+ using IncludeDbFilterFn = std::function<bool(const BSONObj& dbInfo)>;
+ using OnFinishFn = std::function<void(const Status&)>;
using StartCollectionClonerFn = DatabaseCloner::StartCollectionClonerFn;
- using ScheduleDbWorkFn = stdx::function<StatusWith<executor::TaskExecutor::CallbackHandle>(
+ using ScheduleDbWorkFn = std::function<StatusWith<executor::TaskExecutor::CallbackHandle>(
executor::TaskExecutor::CallbackFn)>;
DatabasesCloner(StorageInterface* si,
diff --git a/src/mongo/db/repl/databases_cloner_test.cpp b/src/mongo/db/repl/databases_cloner_test.cpp
index c13154b179a..46cb0a649c3 100644
--- a/src/mongo/db/repl/databases_cloner_test.cpp
+++ b/src/mongo/db/repl/databases_cloner_test.cpp
@@ -767,7 +767,7 @@ TEST_F(DBsClonerTest, FailsOnListCollectionsOnFirstOfTwoDatabases) {
class TaskExecutorWithFailureInScheduleRemoteCommand : public unittest::TaskExecutorProxy {
public:
- using ShouldFailRequestFn = stdx::function<bool(const executor::RemoteCommandRequest&)>;
+ using ShouldFailRequestFn = std::function<bool(const executor::RemoteCommandRequest&)>;
TaskExecutorWithFailureInScheduleRemoteCommand(executor::TaskExecutor* executor,
ShouldFailRequestFn shouldFailRequest)
diff --git a/src/mongo/db/repl/initial_syncer.h b/src/mongo/db/repl/initial_syncer.h
index 5aea265e90e..265b383acaf 100644
--- a/src/mongo/db/repl/initial_syncer.h
+++ b/src/mongo/db/repl/initial_syncer.h
@@ -31,6 +31,7 @@
#pragma once
#include <cstdint>
+#include <functional>
#include <iosfwd>
#include <memory>
@@ -52,7 +53,6 @@
#include "mongo/db/repl/sync_source_selector.h"
#include "mongo/dbtests/mock/mock_dbclient_connection.h"
#include "mongo/stdx/condition_variable.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
#include "mongo/util/concurrency/thread_pool.h"
#include "mongo/util/fail_point_service.h"
@@ -82,17 +82,17 @@ class StorageInterface;
struct InitialSyncerOptions {
/** Function to return optime of last operation applied on this node */
- using GetMyLastOptimeFn = stdx::function<OpTime()>;
+ using GetMyLastOptimeFn = std::function<OpTime()>;
/** Function to update optime of last operation applied on this node */
- using SetMyLastOptimeFn = stdx::function<void(
+ using SetMyLastOptimeFn = std::function<void(
const OpTimeAndWallTime&, ReplicationCoordinator::DataConsistency consistency)>;
/** Function to reset all optimes on this node (e.g. applied & durable). */
- using ResetOptimesFn = stdx::function<void()>;
+ using ResetOptimesFn = std::function<void()>;
/** Function to sets this node into a specific follower mode. */
- using SetFollowerModeFn = stdx::function<bool(const MemberState&)>;
+ using SetFollowerModeFn = std::function<bool(const MemberState&)>;
// Error and retry values
Milliseconds syncSourceRetryWait{1000};
@@ -145,7 +145,7 @@ public:
/**
* Callback function to report last applied optime of initial sync.
*/
- typedef stdx::function<void(const StatusWith<OpTimeAndWallTime>& lastApplied)> OnCompletionFn;
+ typedef std::function<void(const StatusWith<OpTimeAndWallTime>& lastApplied)> OnCompletionFn;
/**
* Callback completion guard for initial syncer.
diff --git a/src/mongo/db/repl/multiapplier.h b/src/mongo/db/repl/multiapplier.h
index 87d34964c2f..119cd58bc89 100644
--- a/src/mongo/db/repl/multiapplier.h
+++ b/src/mongo/db/repl/multiapplier.h
@@ -29,6 +29,7 @@
#pragma once
+#include <functional>
#include <iosfwd>
#include <memory>
#include <string>
@@ -43,7 +44,6 @@
#include "mongo/db/service_context.h"
#include "mongo/executor/task_executor.h"
#include "mongo/stdx/condition_variable.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
namespace mongo {
@@ -69,7 +69,7 @@ public:
using CallbackFn = unique_function<void(const Status&)>;
using MultiApplyFn =
- stdx::function<StatusWith<OpTime>(OperationContext*, MultiApplier::Operations)>;
+ std::function<StatusWith<OpTime>(OperationContext*, MultiApplier::Operations)>;
/**
* Creates MultiApplier in inactive state.
diff --git a/src/mongo/db/repl/noop_writer.cpp b/src/mongo/db/repl/noop_writer.cpp
index 8c0fbfaa6b9..f8495278ce1 100644
--- a/src/mongo/db/repl/noop_writer.cpp
+++ b/src/mongo/db/repl/noop_writer.cpp
@@ -31,6 +31,8 @@
#include "mongo/platform/basic.h"
+#include <functional>
+
#include "mongo/db/commands.h"
#include "mongo/db/commands/test_commands_enabled.h"
#include "mongo/db/concurrency/d_concurrency.h"
@@ -41,7 +43,6 @@
#include "mongo/db/repl/noop_writer.h"
#include "mongo/db/repl/oplog.h"
#include "mongo/db/repl/repl_server_parameters_gen.h"
-#include "mongo/stdx/functional.h"
#include "mongo/util/concurrency/idle_thread_block.h"
#include "mongo/util/log.h"
@@ -63,7 +64,7 @@ class NoopWriter::PeriodicNoopRunner {
PeriodicNoopRunner(const PeriodicNoopRunner&) = delete;
PeriodicNoopRunner& operator=(const PeriodicNoopRunner&) = delete;
- using NoopWriteFn = stdx::function<void(OperationContext*)>;
+ using NoopWriteFn = std::function<void(OperationContext*)>;
public:
PeriodicNoopRunner(Seconds waitTime, NoopWriteFn noopWrite)
diff --git a/src/mongo/db/repl/noop_writer.h b/src/mongo/db/repl/noop_writer.h
index 07f664668d0..c9cc5712386 100644
--- a/src/mongo/db/repl/noop_writer.h
+++ b/src/mongo/db/repl/noop_writer.h
@@ -29,8 +29,9 @@
#pragma once
+#include <functional>
+
#include "mongo/db/repl/optime.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
#include "mongo/util/time_support.h"
diff --git a/src/mongo/db/repl/oplog.cpp b/src/mongo/db/repl/oplog.cpp
index 11fa6719a1c..f56af4a7b57 100644
--- a/src/mongo/db/repl/oplog.cpp
+++ b/src/mongo/db/repl/oplog.cpp
@@ -808,14 +808,14 @@ NamespaceString parseUUIDorNs(OperationContext* opCtx,
return ui.ok() ? parseUUID(opCtx, ui) : parseNs(ns, cmd);
}
-using OpApplyFn = stdx::function<Status(OperationContext* opCtx,
- const char* ns,
- const BSONElement& ui,
- BSONObj& cmd,
- const OpTime& opTime,
- const OplogEntry& entry,
- OplogApplication::Mode mode,
- boost::optional<Timestamp> stableTimestampForRecovery)>;
+using OpApplyFn = std::function<Status(OperationContext* opCtx,
+ const char* ns,
+ const BSONElement& ui,
+ BSONObj& cmd,
+ const OpTime& opTime,
+ const OplogEntry& entry,
+ OplogApplication::Mode mode,
+ boost::optional<Timestamp> stableTimestampForRecovery)>;
struct ApplyOpMetadata {
OpApplyFn applyFunc;
diff --git a/src/mongo/db/repl/oplog.h b/src/mongo/db/repl/oplog.h
index b8729038179..7ad2c4bb983 100644
--- a/src/mongo/db/repl/oplog.h
+++ b/src/mongo/db/repl/oplog.h
@@ -29,6 +29,7 @@
#pragma once
+#include <functional>
#include <string>
#include <vector>
@@ -40,7 +41,6 @@
#include "mongo/db/repl/oplog_entry.h"
#include "mongo/db/repl/optime.h"
#include "mongo/db/repl/replication_coordinator.h"
-#include "mongo/stdx/functional.h"
namespace mongo {
class Collection;
@@ -162,7 +162,7 @@ void acquireOplogCollectionForLogging(OperationContext* opCtx);
*/
void establishOplogCollectionForLogging(OperationContext* opCtx, Collection* oplog);
-using IncrementOpsAppliedStatsFn = stdx::function<void()>;
+using IncrementOpsAppliedStatsFn = std::function<void()>;
/**
* This class represents the different modes of oplog application that are used within the
diff --git a/src/mongo/db/repl/oplog_applier.h b/src/mongo/db/repl/oplog_applier.h
index 8208b35f4cf..71ea92b4f3f 100644
--- a/src/mongo/db/repl/oplog_applier.h
+++ b/src/mongo/db/repl/oplog_applier.h
@@ -104,7 +104,7 @@ public:
using Operations = std::vector<OplogEntry>;
// Used by SyncTail to access batching logic.
- using GetNextApplierBatchFn = stdx::function<StatusWith<OplogApplier::Operations>(
+ using GetNextApplierBatchFn = std::function<StatusWith<OplogApplier::Operations>(
OperationContext* opCtx, const BatchLimits& batchLimits)>;
/**
diff --git a/src/mongo/db/repl/oplog_buffer_collection_test.cpp b/src/mongo/db/repl/oplog_buffer_collection_test.cpp
index 0d544104fc6..b27c713f471 100644
--- a/src/mongo/db/repl/oplog_buffer_collection_test.cpp
+++ b/src/mongo/db/repl/oplog_buffer_collection_test.cpp
@@ -919,13 +919,12 @@ TEST_F(OplogBufferCollectionTest, WaitForDataBlocksAndTimesOutWhenItDoesNotFindD
ASSERT_EQUALS(count, 0UL);
}
-void _testPushSentinelsProperly(
- OperationContext* opCtx,
- const NamespaceString& nss,
- StorageInterface* storageInterface,
- stdx::function<void(OperationContext* opCtx,
- OplogBufferCollection* oplogBuffer,
- const std::vector<BSONObj>& oplog)> pushDocsFn) {
+void _testPushSentinelsProperly(OperationContext* opCtx,
+ const NamespaceString& nss,
+ StorageInterface* storageInterface,
+ std::function<void(OperationContext* opCtx,
+ OplogBufferCollection* oplogBuffer,
+ const std::vector<BSONObj>& oplog)> pushDocsFn) {
OplogBufferCollection oplogBuffer(storageInterface, nss);
oplogBuffer.startup(opCtx);
const std::vector<BSONObj> oplog = {
diff --git a/src/mongo/db/repl/oplog_buffer_proxy_test.cpp b/src/mongo/db/repl/oplog_buffer_proxy_test.cpp
index 33173a8b75a..269071bbc54 100644
--- a/src/mongo/db/repl/oplog_buffer_proxy_test.cpp
+++ b/src/mongo/db/repl/oplog_buffer_proxy_test.cpp
@@ -31,10 +31,10 @@
#include <boost/optional/optional_io.hpp>
#include <deque>
+#include <functional>
#include "mongo/db/jsobj.h"
#include "mongo/db/repl/oplog_buffer_proxy.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/memory.h"
#include "mongo/unittest/death_test.h"
#include "mongo/unittest/unittest.h"
@@ -231,7 +231,7 @@ void _testPushFunctionUpdatesCachedLastObjectPushed(
OperationContext* opCtx,
OplogBuffer* proxy,
OplogBufferMock* mock,
- stdx::function<std::size_t(
+ std::function<std::size_t(
OperationContext* opCtx, OplogBuffer* proxy, const OplogBuffer::Value& value)> pushFn) {
ASSERT_EQUALS(proxy->lastObjectPushed(opCtx), boost::none);
ASSERT_FALSE(mock->lastObjectPushedCalled);
diff --git a/src/mongo/db/repl/oplog_fetcher.h b/src/mongo/db/repl/oplog_fetcher.h
index 398ac362377..f547304ac39 100644
--- a/src/mongo/db/repl/oplog_fetcher.h
+++ b/src/mongo/db/repl/oplog_fetcher.h
@@ -30,6 +30,7 @@
#pragma once
#include <cstddef>
+#include <functional>
#include "mongo/base/status_with.h"
#include "mongo/bson/timestamp.h"
@@ -38,7 +39,6 @@
#include "mongo/db/repl/abstract_oplog_fetcher.h"
#include "mongo/db/repl/data_replicator_external_state.h"
#include "mongo/db/repl/repl_set_config.h"
-#include "mongo/stdx/functional.h"
#include "mongo/util/fail_point_service.h"
namespace mongo {
@@ -104,9 +104,9 @@ public:
* Additional information on the operations is provided in a DocumentsInfo
* struct.
*/
- using EnqueueDocumentsFn = stdx::function<Status(Fetcher::Documents::const_iterator begin,
- Fetcher::Documents::const_iterator end,
- const DocumentsInfo& info)>;
+ using EnqueueDocumentsFn = std::function<Status(Fetcher::Documents::const_iterator begin,
+ Fetcher::Documents::const_iterator end,
+ const DocumentsInfo& info)>;
/**
* Validates documents in current batch of results returned from tailing the remote oplog.
diff --git a/src/mongo/db/repl/oplog_fetcher_test.cpp b/src/mongo/db/repl/oplog_fetcher_test.cpp
index 1550d0882ed..ed79d6a7a27 100644
--- a/src/mongo/db/repl/oplog_fetcher_test.cpp
+++ b/src/mongo/db/repl/oplog_fetcher_test.cpp
@@ -176,7 +176,7 @@ std::unique_ptr<ShutdownState> OplogFetcherTest::processSingleBatch(RemoteComman
requireFresherSyncSource,
dataReplicatorExternalState.get(),
enqueueDocumentsFn,
- stdx::ref(*shutdownState),
+ std::ref(*shutdownState),
defaultBatchSize);
ASSERT_FALSE(oplogFetcher.isActive());
@@ -590,7 +590,7 @@ TEST_F(OplogFetcherTest,
false /* requireFresherSyncSource */,
dataReplicatorExternalState.get(),
enqueueDocumentsFn,
- stdx::ref(*shutdownState),
+ std::ref(*shutdownState),
defaultBatchSize,
OplogFetcher::StartingPoint::kEnqueueFirstDoc);
@@ -666,7 +666,7 @@ TEST_F(OplogFetcherTest,
false /* requireFresherSyncSource */,
dataReplicatorExternalState.get(),
enqueueDocumentsFn,
- stdx::ref(*shutdownState),
+ std::ref(*shutdownState),
defaultBatchSize,
OplogFetcher::StartingPoint::kEnqueueFirstDoc);
@@ -826,7 +826,7 @@ RemoteCommandRequest OplogFetcherTest::testTwoBatchHandling() {
true,
dataReplicatorExternalState.get(),
enqueueDocumentsFn,
- stdx::ref(shutdownState),
+ std::ref(shutdownState),
defaultBatchSize);
ASSERT_EQUALS(OplogFetcher::State::kPreStart, oplogFetcher.getState_forTest());
diff --git a/src/mongo/db/repl/oplog_interface_remote.h b/src/mongo/db/repl/oplog_interface_remote.h
index 97ed5f7fff6..8200056f34f 100644
--- a/src/mongo/db/repl/oplog_interface_remote.h
+++ b/src/mongo/db/repl/oplog_interface_remote.h
@@ -29,8 +29,9 @@
#pragma once
+#include <functional>
+
#include "mongo/db/repl/oplog_interface.h"
-#include "mongo/stdx/functional.h"
namespace mongo {
@@ -47,7 +48,7 @@ public:
/**
* Type of function to return a connection to the sync source.
*/
- using GetConnectionFn = stdx::function<DBClientBase*()>;
+ using GetConnectionFn = std::function<DBClientBase*()>;
OplogInterfaceRemote(HostAndPort hostAndPort,
GetConnectionFn getConnection,
diff --git a/src/mongo/db/repl/oplog_test.cpp b/src/mongo/db/repl/oplog_test.cpp
index b95f8d2d4fc..c8506d55fbd 100644
--- a/src/mongo/db/repl/oplog_test.cpp
+++ b/src/mongo/db/repl/oplog_test.cpp
@@ -30,6 +30,7 @@
#include "mongo/platform/basic.h"
#include <algorithm>
+#include <functional>
#include <map>
#include <utility>
#include <vector>
@@ -44,7 +45,6 @@
#include "mongo/db/repl/repl_client_info.h"
#include "mongo/db/repl/replication_coordinator_mock.h"
#include "mongo/db/service_context_d_test_fixture.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
#include "mongo/unittest/barrier.h"
#include "mongo/util/concurrency/thread_pool.h"
diff --git a/src/mongo/db/repl/repl_set_config.cpp b/src/mongo/db/repl/repl_set_config.cpp
index ced480e9d04..a3f27decf09 100644
--- a/src/mongo/db/repl/repl_set_config.cpp
+++ b/src/mongo/db/repl/repl_set_config.cpp
@@ -32,13 +32,13 @@
#include "mongo/db/repl/repl_set_config.h"
#include <algorithm>
+#include <functional>
#include "mongo/bson/util/bson_check.h"
#include "mongo/bson/util/bson_extract.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/mongod_options.h"
#include "mongo/db/server_options.h"
-#include "mongo/stdx/functional.h"
#include "mongo/util/str.h"
namespace mongo {
diff --git a/src/mongo/db/repl/repl_set_tag.cpp b/src/mongo/db/repl/repl_set_tag.cpp
index 8068b46e783..573892a94b9 100644
--- a/src/mongo/db/repl/repl_set_tag.cpp
+++ b/src/mongo/db/repl/repl_set_tag.cpp
@@ -32,10 +32,10 @@
#include "mongo/db/repl/repl_set_tag.h"
#include <algorithm>
+#include <functional>
#include "mongo/base/string_data.h"
#include "mongo/db/jsobj.h"
-#include "mongo/stdx/functional.h"
#include "mongo/util/sequence_util.h"
#include "mongo/util/str.h"
diff --git a/src/mongo/db/repl/replication_coordinator_external_state.h b/src/mongo/db/repl/replication_coordinator_external_state.h
index aa81dc2b6cf..89bba1762ee 100644
--- a/src/mongo/db/repl/replication_coordinator_external_state.h
+++ b/src/mongo/db/repl/replication_coordinator_external_state.h
@@ -31,12 +31,12 @@
#include <boost/optional.hpp>
#include <cstddef>
+#include <functional>
#include "mongo/bson/timestamp.h"
#include "mongo/db/repl/member_state.h"
#include "mongo/db/repl/optime.h"
#include "mongo/executor/task_executor.h"
-#include "mongo/stdx/functional.h"
#include "mongo/util/concurrency/thread_pool.h"
#include "mongo/util/time_support.h"
diff --git a/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp b/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp
index fe934c8edaf..5736969f762 100644
--- a/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp
+++ b/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp
@@ -33,6 +33,7 @@
#include "mongo/db/repl/replication_coordinator_external_state_impl.h"
+#include <functional>
#include <string>
#include "mongo/base/status_with.h"
@@ -93,7 +94,6 @@
#include "mongo/s/client/shard_registry.h"
#include "mongo/s/cluster_identity_loader.h"
#include "mongo/s/grid.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/memory.h"
#include "mongo/stdx/thread.h"
#include "mongo/transport/service_entry_point.h"
diff --git a/src/mongo/db/repl/replication_coordinator_impl.cpp b/src/mongo/db/repl/replication_coordinator_impl.cpp
index 87eea64b6c1..31c3bd56fe0 100644
--- a/src/mongo/db/repl/replication_coordinator_impl.cpp
+++ b/src/mongo/db/repl/replication_coordinator_impl.cpp
@@ -36,6 +36,7 @@
#include "mongo/db/repl/replication_coordinator_impl.h"
#include <algorithm>
+#include <functional>
#include <limits>
#include "mongo/base/status.h"
@@ -83,7 +84,6 @@
#include "mongo/executor/network_interface.h"
#include "mongo/rpc/metadata/oplog_query_metadata.h"
#include "mongo/rpc/metadata/repl_set_metadata.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
#include "mongo/util/assert_util.h"
#include "mongo/util/fail_point_service.h"
@@ -149,7 +149,7 @@ private:
const bool _initialState;
};
-void lockAndCall(stdx::unique_lock<stdx::mutex>* lk, const stdx::function<void()>& fn) {
+void lockAndCall(stdx::unique_lock<stdx::mutex>* lk, const std::function<void()>& fn) {
if (!lk->owns_lock()) {
lk->lock();
}
@@ -249,8 +249,7 @@ void ReplicationCoordinatorImpl::WaiterList::add_inlock(WaiterType waiter) {
_list.push_back(waiter);
}
-void ReplicationCoordinatorImpl::WaiterList::signalIf_inlock(
- stdx::function<bool(WaiterType)> func) {
+void ReplicationCoordinatorImpl::WaiterList::signalIf_inlock(std::function<bool(WaiterType)> func) {
for (auto it = _list.begin(); it != _list.end();) {
if (!func(*it)) {
// This element doesn't match, so we advance the iterator to the next one.
@@ -688,7 +687,7 @@ void ReplicationCoordinatorImpl::_stopDataReplication(OperationContext* opCtx) {
}
void ReplicationCoordinatorImpl::_startDataReplication(OperationContext* opCtx,
- stdx::function<void()> startCompleted) {
+ std::function<void()> startCompleted) {
// Check to see if we need to do an initial sync.
const auto lastOpTime = getMyLastAppliedOpTime();
const auto needsInitialSync =
@@ -2308,7 +2307,7 @@ int ReplicationCoordinatorImpl::_getMyId_inlock() const {
Status ReplicationCoordinatorImpl::resyncData(OperationContext* opCtx, bool waitUntilCompleted) {
_stopDataReplication(opCtx);
auto finishedEvent = uassertStatusOK(_replExecutor->makeEvent());
- stdx::function<void()> f;
+ std::function<void()> f;
if (waitUntilCompleted)
f = [&finishedEvent, this]() { _replExecutor->signalEvent(finishedEvent); };
@@ -3928,7 +3927,7 @@ WriteConcernOptions ReplicationCoordinatorImpl::populateUnsetWriteConcernOptions
return writeConcern;
}
-CallbackFn ReplicationCoordinatorImpl::_wrapAsCallbackFn(const stdx::function<void()>& work) {
+CallbackFn ReplicationCoordinatorImpl::_wrapAsCallbackFn(const std::function<void()>& work) {
return [work](const CallbackArgs& cbData) {
if (cbData.status == ErrorCodes::CallbackCanceled) {
return;
diff --git a/src/mongo/db/repl/replication_coordinator_impl.h b/src/mongo/db/repl/replication_coordinator_impl.h
index b7a3e429b83..ffec3ea11ad 100644
--- a/src/mongo/db/repl/replication_coordinator_impl.h
+++ b/src/mongo/db/repl/replication_coordinator_impl.h
@@ -430,7 +430,7 @@ private:
using EventHandle = executor::TaskExecutor::EventHandle;
- using ScheduleFn = stdx::function<StatusWith<executor::TaskExecutor::CallbackHandle>(
+ using ScheduleFn = std::function<StatusWith<executor::TaskExecutor::CallbackHandle>(
const executor::TaskExecutor::CallbackFn& work)>;
class LoseElectionGuardV1;
@@ -611,7 +611,7 @@ private:
//
// This is used when we want to run a callback when the opTime is reached.
struct CallbackWaiter : public Waiter {
- using FinishFunc = stdx::function<void()>;
+ using FinishFunc = std::function<void()>;
CallbackWaiter(OpTime _opTime, FinishFunc _finishCallback);
void notify_inlock() override;
@@ -634,7 +634,7 @@ private:
// Returns whether waiter is found and removed.
bool remove_inlock(WaiterType waiter);
// Signals all waiters that satisfy the condition.
- void signalIf_inlock(stdx::function<bool(WaiterType)> fun);
+ void signalIf_inlock(std::function<bool(WaiterType)> fun);
// Signals all waiters from the list.
void signalAll_inlock();
@@ -937,7 +937,7 @@ private:
* Start replicating data, and does an initial sync if needed first.
*/
void _startDataReplication(OperationContext* opCtx,
- stdx::function<void()> startCompleted = nullptr);
+ std::function<void()> startCompleted = nullptr);
/**
* Stops replicating data by stopping the applier, fetcher and such.
@@ -1282,7 +1282,7 @@ private:
* Wrap a function into executor callback.
* If the callback is cancelled, the given function won't run.
*/
- executor::TaskExecutor::CallbackFn _wrapAsCallbackFn(const stdx::function<void()>& work);
+ executor::TaskExecutor::CallbackFn _wrapAsCallbackFn(const std::function<void()>& work);
/**
* Finish catch-up mode and start drain mode.
diff --git a/src/mongo/db/repl/replication_coordinator_impl_elect_v1_test.cpp b/src/mongo/db/repl/replication_coordinator_impl_elect_v1_test.cpp
index 3c088e5d2cb..ad48c0393e2 100644
--- a/src/mongo/db/repl/replication_coordinator_impl_elect_v1_test.cpp
+++ b/src/mongo/db/repl/replication_coordinator_impl_elect_v1_test.cpp
@@ -2144,7 +2144,7 @@ TEST_F(ReplCoordTest, NodeCancelsElectionUponReceivingANewConfigDuringVotePhase)
class PrimaryCatchUpTest : public ReplCoordTest {
protected:
using NetworkOpIter = NetworkInterfaceMock::NetworkOperationIterator;
- using NetworkRequestFn = stdx::function<void(const NetworkOpIter)>;
+ using NetworkRequestFn = std::function<void(const NetworkOpIter)>;
const Timestamp smallTimestamp{1, 1};
diff --git a/src/mongo/db/repl/replication_coordinator_impl_heartbeat.cpp b/src/mongo/db/repl/replication_coordinator_impl_heartbeat.cpp
index 95af8076f33..4210f02d428 100644
--- a/src/mongo/db/repl/replication_coordinator_impl_heartbeat.cpp
+++ b/src/mongo/db/repl/replication_coordinator_impl_heartbeat.cpp
@@ -36,6 +36,7 @@
#include "mongo/platform/basic.h"
#include <algorithm>
+#include <functional>
#include "mongo/base/status.h"
#include "mongo/db/index_builds_coordinator.h"
@@ -54,7 +55,6 @@
#include "mongo/db/service_context.h"
#include "mongo/rpc/get_status_from_command_result.h"
#include "mongo/rpc/metadata/repl_set_metadata.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
#include "mongo/util/assert_util.h"
#include "mongo/util/fail_point_service.h"
diff --git a/src/mongo/db/repl/replication_coordinator_impl_test.cpp b/src/mongo/db/repl/replication_coordinator_impl_test.cpp
index 821c2d71202..790a6c81704 100644
--- a/src/mongo/db/repl/replication_coordinator_impl_test.cpp
+++ b/src/mongo/db/repl/replication_coordinator_impl_test.cpp
@@ -32,6 +32,7 @@
#include "mongo/platform/basic.h"
#include <boost/optional/optional_io.hpp>
+#include <functional>
#include <iostream>
#include <memory>
#include <set>
@@ -63,7 +64,6 @@
#include "mongo/executor/network_interface_mock.h"
#include "mongo/rpc/metadata/oplog_query_metadata.h"
#include "mongo/rpc/metadata/repl_set_metadata.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/future.h"
#include "mongo/stdx/thread.h"
#include "mongo/unittest/barrier.h"
diff --git a/src/mongo/db/repl/replication_coordinator_mock.h b/src/mongo/db/repl/replication_coordinator_mock.h
index 38ec9d5a3b6..0a9e49f3e5e 100644
--- a/src/mongo/db/repl/replication_coordinator_mock.h
+++ b/src/mongo/db/repl/replication_coordinator_mock.h
@@ -29,13 +29,14 @@
#pragma once
+#include <functional>
+
#include "mongo/base/status.h"
#include "mongo/db/repl/optime.h"
#include "mongo/db/repl/repl_set_config.h"
#include "mongo/db/repl/replication_coordinator.h"
#include "mongo/db/repl/storage_interface.h"
#include "mongo/platform/atomic_word.h"
-#include "mongo/stdx/functional.h"
namespace mongo {
@@ -288,7 +289,7 @@ public:
* Sets the function to generate the return value for calls to awaitReplication().
* 'opTime' is the optime passed to awaitReplication().
*/
- using AwaitReplicationReturnValueFunction = stdx::function<StatusAndDuration(const OpTime&)>;
+ using AwaitReplicationReturnValueFunction = std::function<StatusAndDuration(const OpTime&)>;
void setAwaitReplicationReturnValueFunction(
AwaitReplicationReturnValueFunction returnValueFunction);
diff --git a/src/mongo/db/repl/replication_coordinator_test_fixture.cpp b/src/mongo/db/repl/replication_coordinator_test_fixture.cpp
index 8324d84232f..197be4e4d0b 100644
--- a/src/mongo/db/repl/replication_coordinator_test_fixture.cpp
+++ b/src/mongo/db/repl/replication_coordinator_test_fixture.cpp
@@ -33,6 +33,8 @@
#include "mongo/db/repl/replication_coordinator_test_fixture.h"
+#include <functional>
+
#include "mongo/db/logical_clock.h"
#include "mongo/db/operation_context_noop.h"
#include "mongo/db/repl/is_master_response.h"
@@ -49,7 +51,6 @@
#include "mongo/executor/network_interface_mock.h"
#include "mongo/executor/thread_pool_mock.h"
#include "mongo/executor/thread_pool_task_executor.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/memory.h"
#include "mongo/unittest/unittest.h"
#include "mongo/util/fail_point_service.h"
@@ -252,7 +253,7 @@ void ReplCoordTest::simulateEnoughHeartbeatsForAllNodesUp() {
}
void ReplCoordTest::simulateSuccessfulDryRun(
- stdx::function<void(const RemoteCommandRequest& request)> onDryRunRequest) {
+ std::function<void(const RemoteCommandRequest& request)> onDryRunRequest) {
ReplicationCoordinatorImpl* replCoord = getReplCoord();
ReplSetConfig rsConfig = replCoord->getReplicaSetConfig_forTest();
NetworkInterfaceMock* net = getNet();
diff --git a/src/mongo/db/repl/replication_coordinator_test_fixture.h b/src/mongo/db/repl/replication_coordinator_test_fixture.h
index c3d7cd14d28..de593d2b804 100644
--- a/src/mongo/db/repl/replication_coordinator_test_fixture.h
+++ b/src/mongo/db/repl/replication_coordinator_test_fixture.h
@@ -246,7 +246,7 @@ protected:
* Applicable to protocol version 1 only.
*/
void simulateSuccessfulDryRun(
- stdx::function<void(const executor::RemoteCommandRequest& request)> onDryRunRequest);
+ std::function<void(const executor::RemoteCommandRequest& request)> onDryRunRequest);
void simulateSuccessfulDryRun();
/**
diff --git a/src/mongo/db/repl/reporter.h b/src/mongo/db/repl/reporter.h
index f332401ea2e..f6cc0ea8cea 100644
--- a/src/mongo/db/repl/reporter.h
+++ b/src/mongo/db/repl/reporter.h
@@ -29,13 +29,14 @@
#pragma once
+#include <functional>
+
#include "mongo/base/status.h"
#include "mongo/base/status_with.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/repl/replication_coordinator.h"
#include "mongo/executor/task_executor.h"
#include "mongo/stdx/condition_variable.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
#include "mongo/util/time_support.h"
@@ -73,7 +74,7 @@ public:
*
* The returned status indicates whether or not the command was created.
*/
- using PrepareReplSetUpdatePositionCommandFn = stdx::function<StatusWith<BSONObj>()>;
+ using PrepareReplSetUpdatePositionCommandFn = std::function<StatusWith<BSONObj>()>;
Reporter(executor::TaskExecutor* executor,
PrepareReplSetUpdatePositionCommandFn prepareReplSetUpdatePositionCommandFn,
diff --git a/src/mongo/db/repl/roll_back_local_operations.h b/src/mongo/db/repl/roll_back_local_operations.h
index 57780fb755a..baff79544a6 100644
--- a/src/mongo/db/repl/roll_back_local_operations.h
+++ b/src/mongo/db/repl/roll_back_local_operations.h
@@ -29,6 +29,8 @@
#pragma once
+#include <functional>
+
#include "mongo/base/status.h"
#include "mongo/base/status_with.h"
#include "mongo/bson/bsonobj.h"
@@ -36,7 +38,6 @@
#include "mongo/db/repl/oplog_entry.h"
#include "mongo/db/repl/oplog_interface.h"
#include "mongo/db/repl/optime.h"
-#include "mongo/stdx/functional.h"
#include "mongo/util/fail_point_service.h"
namespace mongo {
@@ -85,7 +86,7 @@ public:
* Type of function to roll back an operation or process it for future use.
* It can return any status except ErrorCodes::NoSuchKey. See onRemoteOperation().
*/
- using RollbackOperationFn = stdx::function<Status(const BSONObj&)>;
+ using RollbackOperationFn = std::function<Status(const BSONObj&)>;
/**
* Initializes rollback processor with a valid local oplog.
diff --git a/src/mongo/db/repl/rollback.h b/src/mongo/db/repl/rollback.h
index 26af57b79e9..8f49ea8a04b 100644
--- a/src/mongo/db/repl/rollback.h
+++ b/src/mongo/db/repl/rollback.h
@@ -29,9 +29,10 @@
#pragma once
+#include <functional>
+
#include "mongo/base/status_with.h"
#include "mongo/db/repl/optime.h"
-#include "mongo/stdx/functional.h"
namespace mongo {
namespace repl {
@@ -50,7 +51,7 @@ public:
* passed in.
*/
using OnCompletionFn =
- stdx::function<void(const StatusWith<OpTime>& lastOpTimeApplied) noexcept>;
+ std::function<void(const StatusWith<OpTime>& lastOpTimeApplied) noexcept>;
Rollback() = default;
diff --git a/src/mongo/db/repl/rollback_checker.h b/src/mongo/db/repl/rollback_checker.h
index ed589e57c7c..768dd47bf63 100644
--- a/src/mongo/db/repl/rollback_checker.h
+++ b/src/mongo/db/repl/rollback_checker.h
@@ -67,7 +67,7 @@ public:
// Rollback checker result - true if rollback occurred; false if rollback IDs
// were the same; Otherwise, error status indicating why rollback check failed.
using Result = StatusWith<bool>;
- using CallbackFn = stdx::function<void(const Result& result)>;
+ using CallbackFn = std::function<void(const Result& result)>;
using RemoteCommandCallbackFn = executor::TaskExecutor::RemoteCommandCallbackFn;
using CallbackHandle = executor::TaskExecutor::CallbackHandle;
diff --git a/src/mongo/db/repl/rollback_impl.h b/src/mongo/db/repl/rollback_impl.h
index 428305ff005..29a33dfd548 100644
--- a/src/mongo/db/repl/rollback_impl.h
+++ b/src/mongo/db/repl/rollback_impl.h
@@ -29,13 +29,14 @@
#pragma once
+#include <functional>
+
#include "mongo/base/status_with.h"
#include "mongo/db/op_observer.h"
#include "mongo/db/repl/oplog_entry.h"
#include "mongo/db/repl/roll_back_local_operations.h"
#include "mongo/db/repl/rollback.h"
#include "mongo/db/repl/storage_interface.h"
-#include "mongo/stdx/functional.h"
namespace mongo {
diff --git a/src/mongo/db/repl/rollback_impl_test.cpp b/src/mongo/db/repl/rollback_impl_test.cpp
index c32031f1f95..78327f0d2a3 100644
--- a/src/mongo/db/repl/rollback_impl_test.cpp
+++ b/src/mongo/db/repl/rollback_impl_test.cpp
@@ -258,40 +258,40 @@ protected:
std::unique_ptr<RollbackImplForTest> _rollback;
bool _transitionedToRollback = false;
- stdx::function<void()> _onTransitionToRollbackFn = [this]() { _transitionedToRollback = true; };
+ std::function<void()> _onTransitionToRollbackFn = [this]() { _transitionedToRollback = true; };
bool _recoveredToStableTimestamp = false;
Timestamp _stableTimestamp;
- stdx::function<void(Timestamp)> _onRecoverToStableTimestampFn =
+ std::function<void(Timestamp)> _onRecoverToStableTimestampFn =
[this](Timestamp stableTimestamp) {
_recoveredToStableTimestamp = true;
_stableTimestamp = stableTimestamp;
};
bool _recoveredFromOplog = false;
- stdx::function<void()> _onRecoverFromOplogFn = [this]() { _recoveredFromOplog = true; };
+ std::function<void()> _onRecoverFromOplogFn = [this]() { _recoveredFromOplog = true; };
bool _incrementedRollbackID = false;
- stdx::function<void()> _onRollbackIDIncrementedFn = [this]() { _incrementedRollbackID = true; };
+ std::function<void()> _onRollbackIDIncrementedFn = [this]() { _incrementedRollbackID = true; };
bool _reconstructedPreparedTransactions = false;
- stdx::function<void()> _onPreparedTransactionsReconstructedFn = [this]() {
+ std::function<void()> _onPreparedTransactionsReconstructedFn = [this]() {
_reconstructedPreparedTransactions = true;
};
Timestamp _commonPointFound;
- stdx::function<void(Timestamp commonPoint)> _onCommonPointFoundFn =
+ std::function<void(Timestamp commonPoint)> _onCommonPointFoundFn =
[this](Timestamp commonPoint) { _commonPointFound = commonPoint; };
Timestamp _truncatePoint;
- stdx::function<void(Timestamp truncatePoint)> _onSetOplogTruncateAfterPointFn =
+ std::function<void(Timestamp truncatePoint)> _onSetOplogTruncateAfterPointFn =
[this](Timestamp truncatePoint) { _truncatePoint = truncatePoint; };
bool _triggeredOpObserver = false;
- stdx::function<void(const OpObserver::RollbackObserverInfo& rbInfo)> _onRollbackOpObserverFn =
+ std::function<void(const OpObserver::RollbackObserverInfo& rbInfo)> _onRollbackOpObserverFn =
[this](const OpObserver::RollbackObserverInfo& rbInfo) { _triggeredOpObserver = true; };
- stdx::function<void(UUID, NamespaceString)> _onRollbackFileWrittenForNamespaceFn =
+ std::function<void(UUID, NamespaceString)> _onRollbackFileWrittenForNamespaceFn =
[this](UUID, NamespaceString) {};
std::unique_ptr<Listener> _listener;
diff --git a/src/mongo/db/repl/rollback_source_impl.h b/src/mongo/db/repl/rollback_source_impl.h
index 1c283eb5ed8..66635dde23d 100644
--- a/src/mongo/db/repl/rollback_source_impl.h
+++ b/src/mongo/db/repl/rollback_source_impl.h
@@ -29,11 +29,11 @@
#pragma once
+#include <functional>
#include <string>
#include "mongo/db/repl/oplog_interface_remote.h"
#include "mongo/db/repl/rollback_source.h"
-#include "mongo/stdx/functional.h"
#include "mongo/util/net/hostandport.h"
namespace mongo {
@@ -51,7 +51,7 @@ public:
/**
* Type of function to return a connection to the sync source.
*/
- using GetConnectionFn = stdx::function<DBClientBase*()>;
+ using GetConnectionFn = std::function<DBClientBase*()>;
RollbackSourceImpl(GetConnectionFn getConnection,
const HostAndPort& source,
diff --git a/src/mongo/db/repl/rs_rollback.cpp b/src/mongo/db/repl/rs_rollback.cpp
index e27d463b0f7..e2fc2bcdb23 100644
--- a/src/mongo/db/repl/rs_rollback.cpp
+++ b/src/mongo/db/repl/rs_rollback.cpp
@@ -1620,7 +1620,7 @@ void rollback(OperationContext* opCtx,
int requiredRBID,
ReplicationCoordinator* replCoord,
ReplicationProcess* replicationProcess,
- stdx::function<void(int)> sleepSecsFn) {
+ std::function<void(int)> sleepSecsFn) {
// Set state to ROLLBACK while we are in this function. This prevents serving reads, even from
// the oplog. This can fail if we are elected PRIMARY, in which case we better not do any
// rolling back. If we successfully enter ROLLBACK we will only exit this function fatally or
diff --git a/src/mongo/db/repl/rs_rollback.h b/src/mongo/db/repl/rs_rollback.h
index 619327ff3eb..922e8c667ae 100644
--- a/src/mongo/db/repl/rs_rollback.h
+++ b/src/mongo/db/repl/rs_rollback.h
@@ -29,12 +29,13 @@
#pragma once
+#include <functional>
+
#include "mongo/base/status.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/namespace_string.h"
#include "mongo/db/record_id.h"
#include "mongo/db/repl/optime.h"
-#include "mongo/stdx/functional.h"
#include "mongo/util/time_support.h"
#include "mongo/util/uuid.h"
@@ -148,7 +149,7 @@ void rollback(OperationContext* opCtx,
int requiredRBID,
ReplicationCoordinator* replCoord,
ReplicationProcess* replicationProcess,
- stdx::function<void(int)> sleepSecsFn = [](int secs) { sleepsecs(secs); });
+ std::function<void(int)> sleepSecsFn = [](int secs) { sleepsecs(secs); });
/**
* Initiates the rollback process after transition to ROLLBACK.
diff --git a/src/mongo/db/repl/scatter_gather_runner.cpp b/src/mongo/db/repl/scatter_gather_runner.cpp
index 77c87778308..20d392acf44 100644
--- a/src/mongo/db/repl/scatter_gather_runner.cpp
+++ b/src/mongo/db/repl/scatter_gather_runner.cpp
@@ -34,10 +34,10 @@
#include "mongo/db/repl/scatter_gather_runner.h"
#include <algorithm>
+#include <functional>
#include "mongo/base/status_with.h"
#include "mongo/db/repl/scatter_gather_algorithm.h"
-#include "mongo/stdx/functional.h"
#include "mongo/util/assert_util.h"
#include "mongo/util/log.h"
#include "mongo/util/scopeguard.h"
diff --git a/src/mongo/db/repl/scatter_gather_runner.h b/src/mongo/db/repl/scatter_gather_runner.h
index 4d65e417efb..d38bdc4862b 100644
--- a/src/mongo/db/repl/scatter_gather_runner.h
+++ b/src/mongo/db/repl/scatter_gather_runner.h
@@ -29,10 +29,10 @@
#pragma once
+#include <functional>
#include <vector>
#include "mongo/executor/task_executor.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
namespace mongo {
diff --git a/src/mongo/db/repl/scatter_gather_test.cpp b/src/mongo/db/repl/scatter_gather_test.cpp
index 164b5724b17..94c5e13d55e 100644
--- a/src/mongo/db/repl/scatter_gather_test.cpp
+++ b/src/mongo/db/repl/scatter_gather_test.cpp
@@ -29,10 +29,11 @@
#include "mongo/platform/basic.h"
+#include <functional>
+
#include "mongo/db/repl/scatter_gather_algorithm.h"
#include "mongo/db/repl/scatter_gather_runner.h"
#include "mongo/executor/thread_pool_task_executor_test_fixture.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/memory.h"
#include "mongo/stdx/thread.h"
#include "mongo/unittest/unittest.h"
diff --git a/src/mongo/db/repl/storage_interface_impl_test.cpp b/src/mongo/db/repl/storage_interface_impl_test.cpp
index ecfed99d14d..6a2c23ad6fb 100644
--- a/src/mongo/db/repl/storage_interface_impl_test.cpp
+++ b/src/mongo/db/repl/storage_interface_impl_test.cpp
@@ -592,7 +592,7 @@ void _testDestroyUncommitedCollectionBulkLoader(
OperationContext* opCtx,
const NamespaceString& nss,
std::vector<BSONObj> secondaryIndexes,
- stdx::function<void(std::unique_ptr<CollectionBulkLoader> loader)> destroyLoaderFn) {
+ std::function<void(std::unique_ptr<CollectionBulkLoader> loader)> destroyLoaderFn) {
StorageInterfaceImpl storage;
CollectionOptions opts = generateOptionsWithUuid();
auto loaderStatus =
diff --git a/src/mongo/db/repl/sync_source_resolver.h b/src/mongo/db/repl/sync_source_resolver.h
index bf38628ac32..abe6396e650 100644
--- a/src/mongo/db/repl/sync_source_resolver.h
+++ b/src/mongo/db/repl/sync_source_resolver.h
@@ -29,6 +29,7 @@
#pragma once
+#include <functional>
#include <memory>
#include "mongo/base/status.h"
@@ -38,7 +39,6 @@
#include "mongo/db/repl/optime.h"
#include "mongo/executor/task_executor.h"
#include "mongo/stdx/condition_variable.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
#include "mongo/util/net/hostandport.h"
#include "mongo/util/time_support.h"
@@ -107,7 +107,7 @@ public:
/**
* Callback function to report final status of resolving sync source.
*/
- typedef stdx::function<void(const SyncSourceResolverResponse&)> OnCompletionFn;
+ typedef std::function<void(const SyncSourceResolverResponse&)> OnCompletionFn;
SyncSourceResolver(executor::TaskExecutor* taskExecutor,
SyncSourceSelector* syncSourceSelector,
diff --git a/src/mongo/db/repl/sync_source_resolver_test.cpp b/src/mongo/db/repl/sync_source_resolver_test.cpp
index 9e4761051bf..91e60979070 100644
--- a/src/mongo/db/repl/sync_source_resolver_test.cpp
+++ b/src/mongo/db/repl/sync_source_resolver_test.cpp
@@ -29,6 +29,7 @@
#include "mongo/platform/basic.h"
+#include <functional>
#include <memory>
#include "mongo/db/cursor_id.h"
@@ -39,7 +40,6 @@
#include "mongo/db/repl/sync_source_selector_mock.h"
#include "mongo/executor/network_interface_mock.h"
#include "mongo/executor/thread_pool_task_executor_test_fixture.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/memory.h"
#include "mongo/unittest/task_executor_proxy.h"
#include "mongo/unittest/unittest.h"
@@ -52,7 +52,7 @@ using namespace mongo::repl;
class TaskExecutorWithFailureInScheduleRemoteCommand : public unittest::TaskExecutorProxy {
public:
- using ShouldFailRequestFn = stdx::function<bool(const executor::RemoteCommandRequest&)>;
+ using ShouldFailRequestFn = std::function<bool(const executor::RemoteCommandRequest&)>;
TaskExecutorWithFailureInScheduleRemoteCommand(executor::TaskExecutor* executor,
ShouldFailRequestFn shouldFailRequest)
diff --git a/src/mongo/db/repl/sync_source_selector_mock.h b/src/mongo/db/repl/sync_source_selector_mock.h
index cbf8df0fe9f..9bf7bf4daba 100644
--- a/src/mongo/db/repl/sync_source_selector_mock.h
+++ b/src/mongo/db/repl/sync_source_selector_mock.h
@@ -29,9 +29,10 @@
#pragma once
+#include <functional>
+
#include "mongo/db/repl/optime.h"
#include "mongo/db/repl/sync_source_selector.h"
-#include "mongo/stdx/functional.h"
namespace mongo {
namespace repl {
@@ -44,7 +45,7 @@ class SyncSourceSelectorMock : public SyncSourceSelector {
SyncSourceSelectorMock& operator=(const SyncSourceSelectorMock&) = delete;
public:
- using ChooseNewSyncSourceHook = stdx::function<void()>;
+ using ChooseNewSyncSourceHook = std::function<void()>;
SyncSourceSelectorMock();
virtual ~SyncSourceSelectorMock();
diff --git a/src/mongo/db/repl/sync_tail.h b/src/mongo/db/repl/sync_tail.h
index 8b8d4a4a5e0..fd314fd3564 100644
--- a/src/mongo/db/repl/sync_tail.h
+++ b/src/mongo/db/repl/sync_tail.h
@@ -30,6 +30,7 @@
#pragma once
#include <deque>
+#include <functional>
#include <memory>
#include "mongo/base/status.h"
@@ -42,7 +43,6 @@
#include "mongo/db/repl/replication_consistency_markers.h"
#include "mongo/db/repl/session_update_tracker.h"
#include "mongo/db/repl/storage_interface.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
#include "mongo/util/concurrency/thread_pool.h"
@@ -67,10 +67,10 @@ class OpTime;
class SyncTail {
public:
using MultiSyncApplyFunc =
- stdx::function<Status(OperationContext* opCtx,
- MultiApplier::OperationPtrs* ops,
- SyncTail* st,
- WorkerMultikeyPathInfo* workerMultikeyPathInfo)>;
+ std::function<Status(OperationContext* opCtx,
+ MultiApplier::OperationPtrs* ops,
+ SyncTail* st,
+ WorkerMultikeyPathInfo* workerMultikeyPathInfo)>;
/**
* Applies the operation that is in param o.
diff --git a/src/mongo/db/repl/task_executor_mock.h b/src/mongo/db/repl/task_executor_mock.h
index 3e6ec13d960..daae7c198b1 100644
--- a/src/mongo/db/repl/task_executor_mock.h
+++ b/src/mongo/db/repl/task_executor_mock.h
@@ -40,9 +40,9 @@ namespace repl {
*/
class TaskExecutorMock : public unittest::TaskExecutorProxy {
public:
- using ShouldFailScheduleWorkRequestFn = stdx::function<bool()>;
+ using ShouldFailScheduleWorkRequestFn = std::function<bool()>;
using ShouldFailScheduleRemoteCommandRequestFn =
- stdx::function<bool(const executor::RemoteCommandRequestOnAny&)>;
+ std::function<bool(const executor::RemoteCommandRequestOnAny&)>;
explicit TaskExecutorMock(executor::TaskExecutor* executor);
diff --git a/src/mongo/db/repl/task_runner.h b/src/mongo/db/repl/task_runner.h
index a63a428177f..9b15ed3d629 100644
--- a/src/mongo/db/repl/task_runner.h
+++ b/src/mongo/db/repl/task_runner.h
@@ -29,11 +29,11 @@
#pragma once
+#include <functional>
#include <list>
#include "mongo/db/service_context.h"
#include "mongo/stdx/condition_variable.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/mutex.h"
#include "mongo/util/concurrency/thread_pool.h"
#include "mongo/util/functional.h"
diff --git a/src/mongo/db/repl/task_runner_test_fixture.cpp b/src/mongo/db/repl/task_runner_test_fixture.cpp
index 077c0d833ce..ade615489b1 100644
--- a/src/mongo/db/repl/task_runner_test_fixture.cpp
+++ b/src/mongo/db/repl/task_runner_test_fixture.cpp
@@ -31,8 +31,9 @@
#include "mongo/db/repl/task_runner_test_fixture.h"
+#include <functional>
+
#include "mongo/db/repl/task_runner.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/memory.h"
namespace mongo {
diff --git a/src/mongo/db/repl/topology_coordinator.h b/src/mongo/db/repl/topology_coordinator.h
index 14180c4c06b..5c025f83775 100644
--- a/src/mongo/db/repl/topology_coordinator.h
+++ b/src/mongo/db/repl/topology_coordinator.h
@@ -29,6 +29,7 @@
#pragma once
+#include <functional>
#include <iosfwd>
#include <string>
@@ -38,7 +39,6 @@
#include "mongo/db/repl/split_horizon.h"
#include "mongo/db/repl/update_position_args.h"
#include "mongo/db/server_options.h"
-#include "mongo/stdx/functional.h"
#include "mongo/util/net/hostandport.h"
#include "mongo/util/time_support.h"
@@ -531,7 +531,7 @@ public:
void processLoseElection();
- using StepDownAttemptAbortFn = stdx::function<void()>;
+ using StepDownAttemptAbortFn = std::function<void()>;
/**
* Readies the TopologyCoordinator for an attempt to stepdown that may fail. This is used
* when we receive a stepdown command (which can fail if not enough secondaries are caught up)
diff --git a/src/mongo/db/repl/vote_requester.h b/src/mongo/db/repl/vote_requester.h
index c411065a988..158e442124e 100644
--- a/src/mongo/db/repl/vote_requester.h
+++ b/src/mongo/db/repl/vote_requester.h
@@ -29,6 +29,7 @@
#pragma once
+#include <functional>
#include <memory>
#include <vector>
@@ -37,7 +38,6 @@
#include "mongo/db/repl/repl_set_config.h"
#include "mongo/db/repl/scatter_gather_algorithm.h"
#include "mongo/db/repl/scatter_gather_runner.h"
-#include "mongo/stdx/functional.h"
#include "mongo/stdx/memory.h"
#include "mongo/stdx/unordered_set.h"
diff --git a/src/mongo/db/repl/vote_requester_test.cpp b/src/mongo/db/repl/vote_requester_test.cpp
index ca0bc29844e..97e5736cd76 100644
--- a/src/mongo/db/repl/vote_requester_test.cpp
+++ b/src/mongo/db/repl/vote_requester_test.cpp
@@ -29,6 +29,7 @@
#include "mongo/platform/basic.h"
+#include <functional>
#include <memory>
#include "mongo/base/status.h"
@@ -38,7 +39,6 @@
#include "mongo/db/repl/vote_requester.h"
#include "mongo/executor/remote_command_request.h"
#include "mongo/executor/remote_command_response.h"
-#include "mongo/stdx/functional.h"
#include "mongo/unittest/unittest.h"
#include "mongo/util/str.h"