diff options
author | ADAM David Alan Martin <adam.martin@10gen.com> | 2019-06-10 01:18:23 -0400 |
---|---|---|
committer | ADAM David Alan Martin <adam.martin@10gen.com> | 2019-06-10 01:18:23 -0400 |
commit | c9548e729c8fecd9d7a9a5dd341da0433194ac73 (patch) | |
tree | 37b05114182d8a7787c0b39aa71b0ec381292e85 /src/mongo/db/repl | |
parent | c43636652fc4fb69a47f4eaaa767bc57bb59bb5f (diff) | |
download | mongo-c9548e729c8fecd9d7a9a5dd341da0433194ac73.tar.gz |
SERVER-39338 Remove `stdx/functional.h`
Diffstat (limited to 'src/mongo/db/repl')
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" |