summaryrefslogtreecommitdiff
path: root/src/mongo/transport/transport_layer_asio.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/transport/transport_layer_asio.h')
-rw-r--r--src/mongo/transport/transport_layer_asio.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mongo/transport/transport_layer_asio.h b/src/mongo/transport/transport_layer_asio.h
index e10d050319c..a3ded3b164a 100644
--- a/src/mongo/transport/transport_layer_asio.h
+++ b/src/mongo/transport/transport_layer_asio.h
@@ -130,7 +130,12 @@ public:
*/
class TimerService {
public:
- TimerService();
+ using Spawn = std::function<stdx::thread(std::function<void()>)>;
+ struct Options {
+ Spawn spawn;
+ };
+ explicit TimerService(Options opt);
+ TimerService() : TimerService(Options{}) {}
~TimerService();
/**
@@ -165,6 +170,7 @@ public:
enum class State { kInitialized, kStarted, kStopped };
AtomicWord<State> _state;
+ Spawn _spawn = [](std::function<void()> f) { return stdx::thread{std::move(f)}; };
stdx::thread _thread;
};