diff options
author | Gregory Noma <gregory.noma@gmail.com> | 2023-01-31 15:11:53 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-01-31 16:21:53 +0000 |
commit | fb5b99865843482a181993d761d9cf176848000b (patch) | |
tree | 9c9fe5152fcf4f9aef5829ebcebd71215bf718ee | |
parent | bdf654dd793e87874ed062351a09d605414e47ef (diff) | |
download | mongo-fb5b99865843482a181993d761d9cf176848000b.tar.gz |
SERVER-73312 Pass ticket holders to monitor
-rw-r--r-- | src/mongo/db/storage/ticketholder_monitor.cpp | 9 | ||||
-rw-r--r-- | src/mongo/db/storage/ticketholder_monitor.h | 10 |
2 files changed, 16 insertions, 3 deletions
diff --git a/src/mongo/db/storage/ticketholder_monitor.cpp b/src/mongo/db/storage/ticketholder_monitor.cpp index 1ebef4da644..d77c6592ff7 100644 --- a/src/mongo/db/storage/ticketholder_monitor.cpp +++ b/src/mongo/db/storage/ticketholder_monitor.cpp @@ -31,8 +31,13 @@ namespace mongo { -TicketHolderMonitor::TicketHolderMonitor(ServiceContext* svcCtx, Milliseconds interval) - : _job(svcCtx->getPeriodicRunner()->makeJob(PeriodicRunner::PeriodicJob{ +TicketHolderMonitor::TicketHolderMonitor(ServiceContext* svcCtx, + TicketHolder* readTicketHolder, + TicketHolder* writeTicketHolder, + Milliseconds interval) + : _readTicketHolder(readTicketHolder), + _writeTicketHolder(writeTicketHolder), + _job(svcCtx->getPeriodicRunner()->makeJob(PeriodicRunner::PeriodicJob{ "TicketHolderMonitor", [this](Client* client) { _run(client); }, interval})) {} void TicketHolderMonitor::start() { diff --git a/src/mongo/db/storage/ticketholder_monitor.h b/src/mongo/db/storage/ticketholder_monitor.h index 7cc545a4b29..6abb5a6d25a 100644 --- a/src/mongo/db/storage/ticketholder_monitor.h +++ b/src/mongo/db/storage/ticketholder_monitor.h @@ -30,19 +30,27 @@ #pragma once #include "mongo/db/service_context.h" +#include "mongo/util/concurrency/ticketholder.h" #include "mongo/util/periodic_runner.h" namespace mongo { class TicketHolderMonitor { public: - explicit TicketHolderMonitor(ServiceContext*, Milliseconds interval); + TicketHolderMonitor(ServiceContext* svcCtx, + TicketHolder* readTicketHolder, + TicketHolder* writeTicketHolder, + Milliseconds interval); virtual ~TicketHolderMonitor(){}; void start(); protected: + TicketHolder* _readTicketHolder; + TicketHolder* _writeTicketHolder; + +private: virtual void _run(Client*) = 0; PeriodicJobAnchor _job; |