Skip to content

Commit

Permalink
Refactor: use Connection::sendResponse from mcbp_response_handler
Browse files Browse the repository at this point in the history
Don't duplicate the code to set format a response code

Change-Id: Ia7c7e936c89857df488541decd6ce73b145be756
Reviewed-on: http://review.couchbase.org/c/kv_engine/+/146918
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>
  • Loading branch information
trondn authored and daverigby committed Feb 25, 2021
1 parent 84dbad1 commit f9843e3
Showing 1 changed file with 2 additions and 19 deletions.
21 changes: 2 additions & 19 deletions daemon/mcbp.cc
Expand Up @@ -91,25 +91,8 @@ static bool mcbp_response_handler(std::string_view key,
: PROTOCOL_BINARY_DATATYPE_JSON;
}

const auto& request = cookie->getRequest();
cb::mcbp::Response response = {};
response.setMagic(cb::mcbp::Magic::ClientResponse);
response.setOpcode(request.getClientOpcode());
response.setDatatype(cb::mcbp::Datatype(datatype));
response.setStatus(status);
response.setFramingExtraslen(0);
response.setExtlen(extras.size());
response.setKeylen(key.size());
response.setBodylen(extras.size() + key.size() + payload.size());
response.setOpaque(request.getOpaque());
response.setCas(cas);
c->copyToOutputStream(
{reinterpret_cast<const char*>(&response), sizeof(response)});
c->copyToOutputStream(extras);
c->copyToOutputStream(key);
c->copyToOutputStream(payload);

++c->getBucket().responseCounters[uint16_t(status)];
cookie->setCas(cas);
c->sendResponse(*cookie, status, extras, key, payload, datatype, {});
return true;
}

Expand Down

0 comments on commit f9843e3

Please sign in to comment.