diff options
author | Erin McNulty <erin.mcnulty@mongodb.com> | 2022-08-12 14:30:26 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-08-12 15:20:17 +0000 |
commit | 08feb76700a9111aa8073c163b179ec05f4405e9 (patch) | |
tree | a8ccfa4fa58c87b43c9ec150a41158553f9863e5 /src/mongo/executor/network_interface_mock.cpp | |
parent | 4dab09abbd181f8aec42e1be7d27dc3ed789da05 (diff) | |
download | mongo-08feb76700a9111aa8073c163b179ec05f4405e9.tar.gz |
SERVER-68002: Implement skeleton implementation for free function that invokes a hedged remote command
Diffstat (limited to 'src/mongo/executor/network_interface_mock.cpp')
-rw-r--r-- | src/mongo/executor/network_interface_mock.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/mongo/executor/network_interface_mock.cpp b/src/mongo/executor/network_interface_mock.cpp index d639b14ade6..454e7be6fa1 100644 --- a/src/mongo/executor/network_interface_mock.cpp +++ b/src/mongo/executor/network_interface_mock.cpp @@ -157,9 +157,12 @@ void NetworkInterfaceMock::_interruptWithResponse_inlock(const CallbackHandle& c auto matchFn = [&cbHandle](const auto& ops) { return ops.isForCallback(cbHandle); }; auto noi = std::find_if(_operations.begin(), _operations.end(), matchFn); - // We've effectively observed the NetworkOperation. - noi->markAsProcessing(); - _scheduleResponse_inlock(noi, _now_inlock(), response); + if (!noi->isFinished()) { + // We've effectively observed the NetworkOperation. + noi->markAsProcessing(); + _counters.canceled++; + _scheduleResponse_inlock(noi, _now_inlock(), response); + } } Status NetworkInterfaceMock::setAlarm(const TaskExecutor::CallbackHandle& cbHandle, @@ -601,6 +604,13 @@ void NetworkInterfaceMock::_runReadyNetworkOperations_inlock(stdx::unique_lock<s "request"_attr = noi->getRequest(), "response"_attr = response.response); + _counters.sent++; + if (response.response.status.isOK()) { + _counters.succeeded++; + } else { + _counters.failed++; + } + if (_metadataHook) { _metadataHook ->readReplyMetadata(noi->getRequest().opCtx, |