diff options
author | Waley Chen <waleycz@gmail.com> | 2016-08-03 15:54:57 -0400 |
---|---|---|
committer | Waley Chen <waleycz@gmail.com> | 2016-08-03 15:54:57 -0400 |
commit | 05e1c33649e08ec3736121254da7b29a73934788 (patch) | |
tree | 591de8a744ed1e31535038474247102e540c209d /src/mongo/executor/network_interface_asio_operation.cpp | |
parent | 1aeb9f04c0cdaaa4832ada812797b50456986baf (diff) | |
download | mongo-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.cpp | 17 |
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 = {}; |