diff options
Diffstat (limited to 'src/mongo/executor/network_interface_mock.cpp')
-rw-r--r-- | src/mongo/executor/network_interface_mock.cpp | 52 |
1 files changed, 27 insertions, 25 deletions
diff --git a/src/mongo/executor/network_interface_mock.cpp b/src/mongo/executor/network_interface_mock.cpp index 7f156744803..5d185619b4c 100644 --- a/src/mongo/executor/network_interface_mock.cpp +++ b/src/mongo/executor/network_interface_mock.cpp @@ -487,12 +487,14 @@ void NetworkInterfaceMock::_enqueueOperation_inlock( ResponseStatus rs( ErrorCodes::NetworkInterfaceExceededTimeLimit, "Network timeout", Milliseconds(0)); std::vector<NetworkOperationList*> queuesToCheck{&_unscheduled, &_blackHoled, &_scheduled}; - _alarms.emplace(cbh, _now_inlock() + timeout, [ - this, - cbh = std::move(cbh), - queuesToCheck = std::move(queuesToCheck), - rs = std::move(rs) - ](Status) { _interruptWithResponse_inlock(cbh, queuesToCheck, rs); }); + _alarms.emplace(cbh, + _now_inlock() + timeout, + [this, + cbh = std::move(cbh), + queuesToCheck = std::move(queuesToCheck), + rs = std::move(rs)](Status) { + _interruptWithResponse_inlock(cbh, queuesToCheck, rs); + }); } } @@ -535,25 +537,25 @@ void NetworkInterfaceMock::_connectThenEnqueueOperation_inlock(const HostAndPort auto cbh = op.getCallbackHandle(); // The completion handler for the postconnect command schedules the original command. auto postconnectCompletionHandler = - [ this, op = std::move(op) ](TaskExecutor::ResponseOnAnyStatus rs) mutable { - stdx::lock_guard<stdx::mutex> lk(_mutex); - if (!rs.isOK()) { - op.setResponse(_now_inlock(), rs); - op.finishResponse(); - return; - } - - auto handleStatus = _hook->handleReply(op.getRequest().target, std::move(rs)); - - if (!handleStatus.isOK()) { - op.setResponse(_now_inlock(), handleStatus); - op.finishResponse(); - return; - } - - _connections.emplace(op.getRequest().target); - _enqueueOperation_inlock(std::move(op)); - }; + [this, op = std::move(op)](TaskExecutor::ResponseOnAnyStatus rs) mutable { + stdx::lock_guard<stdx::mutex> lk(_mutex); + if (!rs.isOK()) { + op.setResponse(_now_inlock(), rs); + op.finishResponse(); + return; + } + + auto handleStatus = _hook->handleReply(op.getRequest().target, std::move(rs)); + + if (!handleStatus.isOK()) { + op.setResponse(_now_inlock(), handleStatus); + op.finishResponse(); + return; + } + + _connections.emplace(op.getRequest().target); + _enqueueOperation_inlock(std::move(op)); + }; auto postconnectOp = NetworkOperation(cbh, std::move(*hookPostconnectCommand), |