summaryrefslogtreecommitdiff
path: root/src/mongo/executor/network_interface_asio_operation.cpp
diff options
context:
space:
mode:
authorWaley Chen <waleycz@gmail.com>2016-08-03 15:54:57 -0400
committerWaley Chen <waleycz@gmail.com>2016-08-03 15:54:57 -0400
commit05e1c33649e08ec3736121254da7b29a73934788 (patch)
tree591de8a744ed1e31535038474247102e540c209d /src/mongo/executor/network_interface_asio_operation.cpp
parent1aeb9f04c0cdaaa4832ada812797b50456986baf (diff)
downloadmongo-05e1c33649e08ec3736121254da7b29a73934788.tar.gz
SERVER-24067 TaskExecutor RemoteCommandCallbackArgs should include elapsedMS and metadata
Diffstat (limited to 'src/mongo/executor/network_interface_asio_operation.cpp')
-rw-r--r--src/mongo/executor/network_interface_asio_operation.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/mongo/executor/network_interface_asio_operation.cpp b/src/mongo/executor/network_interface_asio_operation.cpp
index a05dba95fc0..a359099e004 100644
--- a/src/mongo/executor/network_interface_asio_operation.cpp
+++ b/src/mongo/executor/network_interface_asio_operation.cpp
@@ -217,16 +217,15 @@ NetworkInterfaceASIO::AsyncCommand* NetworkInterfaceASIO::AsyncOp::command() {
return _command.get_ptr();
}
-void NetworkInterfaceASIO::AsyncOp::finish(const ResponseStatus& status) {
+void NetworkInterfaceASIO::AsyncOp::finish(const ResponseStatus& rs) {
// We never hold the access lock when we call finish from NetworkInterfaceASIO.
_transitionToState(AsyncOp::State::kFinished);
- LOG(2) << "Request " << _request.id << " finished with response: "
- << redact(status.getStatus().isOK() ? status.getValue().data.toString()
- : status.getStatus().toString());
+ LOG(2) << "Request " << _request.id
+ << " finished with response: " << redact(rs.isOK() ? rs.data.toString() : rs.status.toString());
// Calling the completion handler may invalidate state in this op, so do it last.
- _onFinish(status);
+ _onFinish(rs);
}
const RemoteCommandRequest& NetworkInterfaceASIO::AsyncOp::request() const {
@@ -253,6 +252,14 @@ void NetworkInterfaceASIO::AsyncOp::setOperationProtocol(rpc::Protocol proto) {
_operationProtocol = proto;
}
+void NetworkInterfaceASIO::AsyncOp::setResponseMetadata(BSONObj m) {
+ _responseMetadata = m;
+}
+
+BSONObj NetworkInterfaceASIO::AsyncOp::getResponseMetadata() {
+ return _responseMetadata;
+}
+
void NetworkInterfaceASIO::AsyncOp::reset() {
// We don't reset owner as it never changes
_cbHandle = {};