summaryrefslogtreecommitdiff
path: root/src/mongo/executor/network_interface_asio_command.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/executor/network_interface_asio_command.cpp')
-rw-r--r--src/mongo/executor/network_interface_asio_command.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mongo/executor/network_interface_asio_command.cpp b/src/mongo/executor/network_interface_asio_command.cpp
index 036b2954ee0..c72a7b74505 100644
--- a/src/mongo/executor/network_interface_asio_command.cpp
+++ b/src/mongo/executor/network_interface_asio_command.cpp
@@ -283,7 +283,8 @@ void NetworkInterfaceASIO::_completeOperation(AsyncOp* op, ResponseStatus resp)
op->_timeoutAlarm->cancel();
}
- if (resp.status.code() == ErrorCodes::ExceededTimeLimit) {
+ if (resp.status.code() == ErrorCodes::ExceededTimeLimit ||
+ resp.status.code() == ErrorCodes::NetworkInterfaceExceededTimeLimit) {
_numTimedOutOps.fetchAndAdd(1);
}
@@ -293,7 +294,7 @@ void NetworkInterfaceASIO::_completeOperation(AsyncOp* op, ResponseStatus resp)
// If we fail during connection, we won't be able to access any of op's members after
// calling finish(), so we return here.
log() << "Failed to connect to " << op->request().target << " - " << resp.status;
- op->finish(resp);
+ op->finish(std::move(resp));
return;
}
@@ -305,7 +306,7 @@ void NetworkInterfaceASIO::_completeOperation(AsyncOp* op, ResponseStatus resp)
log() << "Failed asio heartbeat to " << op->request().target << " - "
<< redact(resp.status);
_numFailedOps.fetchAndAdd(1);
- op->finish(resp);
+ op->finish(std::move(resp));
return;
}
@@ -337,7 +338,7 @@ void NetworkInterfaceASIO::_completeOperation(AsyncOp* op, ResponseStatus resp)
_inProgress.erase(iter);
}
- op->finish(resp);
+ op->finish(std::move(resp));
MONGO_ASIO_INVARIANT(static_cast<bool>(ownedOp), "Invalid AsyncOp", op);