Eliminated some copying in the master's Accept call handler path. This eliminates two copies of the `Accept` message.
Review: https://reviews.apache.org/r/65967 Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/8de98cfe Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/8de98cfe Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/8de98cfe Branch: refs/heads/master Commit: 8de98cfeb60dc36cb68d8d712e4e45376d9c0d1e Parents: 2e716fa Author: Benjamin Mahler <[email protected]> Authored: Wed Mar 7 19:40:58 2018 -0800 Committer: Benjamin Mahler <[email protected]> Committed: Fri Mar 9 12:36:13 2018 -0800 ---------------------------------------------------------------------- src/master/http.cpp | 2 +- src/master/master.cpp | 10 +++++----- src/master/master.hpp | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/8de98cfe/src/master/http.cpp ---------------------------------------------------------------------- diff --git a/src/master/http.cpp b/src/master/http.cpp index acf10a0..a38866d 100644 --- a/src/master/http.cpp +++ b/src/master/http.cpp @@ -1096,7 +1096,7 @@ Future<Response> Master::Http::scheduler( return Accepted(); case scheduler::Call::ACCEPT: - master->accept(framework, call.accept()); + master->accept(framework, std::move(*call.mutable_accept())); return Accepted(); case scheduler::Call::DECLINE: http://git-wip-us.apache.org/repos/asf/mesos/blob/8de98cfe/src/master/master.cpp ---------------------------------------------------------------------- diff --git a/src/master/master.cpp b/src/master/master.cpp index b031c19..b368598 100644 --- a/src/master/master.cpp +++ b/src/master/master.cpp @@ -2380,7 +2380,7 @@ void Master::receive( break; case scheduler::Call::ACCEPT: - accept(framework, call.accept()); + accept(framework, std::move(*call.mutable_accept())); break; case scheduler::Call::DECLINE: @@ -3457,7 +3457,7 @@ void Master::launchTasks( *operation->mutable_launch()->mutable_task_infos() = std::move(*launchTasksMessage.mutable_tasks()); - accept(framework, message); + accept(framework, std::move(message)); } else { scheduler::Call::Decline message; @@ -3878,7 +3878,7 @@ void Master::addTask( void Master::accept( Framework* framework, - scheduler::Call::Accept accept) + scheduler::Call::Accept&& accept) { CHECK_NOTNULL(framework); @@ -4360,7 +4360,7 @@ void Master::accept( framework->id(), slaveId.get(), offeredResources, - accept, + std::move(accept), lambda::_1)); } @@ -4369,7 +4369,7 @@ void Master::_accept( const FrameworkID& frameworkId, const SlaveID& slaveId, const Resources& offeredResources, - const scheduler::Call::Accept& accept, + scheduler::Call::Accept&& accept, const Future<list<Future<bool>>>& _authorizations) { Framework* framework = getFramework(frameworkId); http://git-wip-us.apache.org/repos/asf/mesos/blob/8de98cfe/src/master/master.hpp ---------------------------------------------------------------------- diff --git a/src/master/master.hpp b/src/master/master.hpp index 74cd0e4..f85b232 100644 --- a/src/master/master.hpp +++ b/src/master/master.hpp @@ -1013,13 +1013,13 @@ private: void accept( Framework* framework, - scheduler::Call::Accept accept); + scheduler::Call::Accept&& accept); void _accept( const FrameworkID& frameworkId, const SlaveID& slaveId, const Resources& offeredResources, - const scheduler::Call::Accept& accept, + scheduler::Call::Accept&& accept, const process::Future<std::list<process::Future<bool>>>& authorizations); void acceptInverseOffers(
