From 08feb76700a9111aa8073c163b179ec05f4405e9 Mon Sep 17 00:00:00 2001 From: Erin McNulty Date: Fri, 12 Aug 2022 14:30:26 +0000 Subject: SERVER-68002: Implement skeleton implementation for free function that invokes a hedged remote command --- src/mongo/executor/network_interface_mock.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/mongo/executor/network_interface_mock.cpp') 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_lockgetRequest(), "response"_attr = response.response); + _counters.sent++; + if (response.response.status.isOK()) { + _counters.succeeded++; + } else { + _counters.failed++; + } + if (_metadataHook) { _metadataHook ->readReplyMetadata(noi->getRequest().opCtx, -- cgit v1.2.1