summaryrefslogtreecommitdiff
path: root/src/mongo/transport/transport_layer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/transport/transport_layer.h')
-rw-r--r--src/mongo/transport/transport_layer.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/mongo/transport/transport_layer.h b/src/mongo/transport/transport_layer.h
index ca1453cb3a4..0b736ba600f 100644
--- a/src/mongo/transport/transport_layer.h
+++ b/src/mongo/transport/transport_layer.h
@@ -109,17 +109,21 @@ public:
enum WhichReactor { kIngress, kEgress, kNewReactor };
virtual ReactorHandle getReactor(WhichReactor which) = 0;
- virtual BatonHandle makeBaton(OperationContext* opCtx) {
- return nullptr;
+ virtual BatonHandle makeBaton(OperationContext* opCtx) const {
+ return makeDefaultBaton(opCtx);
}
protected:
TransportLayer() = default;
+
+private:
+ static BatonHandle makeDefaultBaton(OperationContext* opCtx);
};
class ReactorTimer {
public:
- ReactorTimer() = default;
+ ReactorTimer();
+
ReactorTimer(const ReactorTimer&) = delete;
ReactorTimer& operator=(const ReactorTimer&) = delete;
@@ -128,6 +132,10 @@ public:
*/
virtual ~ReactorTimer() = default;
+ size_t id() const {
+ return _id;
+ }
+
/*
* Cancel any outstanding future from waitFor/waitUntil. The future will be filled with an
* ErrorCodes::CallbackCancelled status.
@@ -142,6 +150,9 @@ public:
* Calling this implicitly calls cancel().
*/
virtual Future<void> waitUntil(Date_t deadline, const BatonHandle& baton = nullptr) = 0;
+
+private:
+ const size_t _id;
};
class Reactor {