summaryrefslogtreecommitdiff
path: root/src/mongo/rpc/command_request_builder.cpp
diff options
context:
space:
mode:
authorAdam Midvidy <amidvidy@gmail.com>2015-11-12 00:37:49 -0500
committerAdam Midvidy <amidvidy@gmail.com>2015-11-13 10:50:32 -0500
commit289d3fdf5c9d5b232b383c6cd871de1b75cf76b4 (patch)
tree58bcb98e92fb61e805674afbfb6db775959889dd /src/mongo/rpc/command_request_builder.cpp
parentd7511a9244ecab9ea894bb4e8767a289314a1e34 (diff)
downloadmongo-289d3fdf5c9d5b232b383c6cd871de1b75cf76b4.tar.gz
SERVER-20884 build command replies in-place to avoid copies
Diffstat (limited to 'src/mongo/rpc/command_request_builder.cpp')
-rw-r--r--src/mongo/rpc/command_request_builder.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/mongo/rpc/command_request_builder.cpp b/src/mongo/rpc/command_request_builder.cpp
index 60a013d218f..3945b6219a4 100644
--- a/src/mongo/rpc/command_request_builder.cpp
+++ b/src/mongo/rpc/command_request_builder.cpp
@@ -57,13 +57,6 @@ CommandRequestBuilder& CommandRequestBuilder::setDatabase(StringData database) {
CommandRequestBuilder& CommandRequestBuilder::setCommandName(StringData commandName) {
invariant(_state == State::kCommandName);
_builder.appendStr(commandName);
- _state = State::kMetadata;
- return *this;
-}
-
-CommandRequestBuilder& CommandRequestBuilder::setMetadata(BSONObj metadata) {
- invariant(_state == State::kMetadata);
- metadata.appendSelfToBufBuilder(_builder);
_state = State::kCommandArgs;
return *this;
}
@@ -71,6 +64,13 @@ CommandRequestBuilder& CommandRequestBuilder::setMetadata(BSONObj metadata) {
CommandRequestBuilder& CommandRequestBuilder::setCommandArgs(BSONObj commandArgs) {
invariant(_state == State::kCommandArgs);
commandArgs.appendSelfToBufBuilder(_builder);
+ _state = State::kMetadata;
+ return *this;
+}
+
+CommandRequestBuilder& CommandRequestBuilder::setMetadata(BSONObj metadata) {
+ invariant(_state == State::kMetadata);
+ metadata.appendSelfToBufBuilder(_builder);
_state = State::kInputDocs;
return *this;
}