You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by an...@apache.org on 2016/07/06 05:53:34 UTC
[5/7] mesos git commit: Refactored 'master::Http::getFrameworks()' to
helper function.
Refactored 'master::Http::getFrameworks()' to helper function.
This helper function will be reused by `GET_FRAMEWORKS` and
`GET_STATE` calls.
Review: https://reviews.apache.org/r/49489/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/dc73420f
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/dc73420f
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/dc73420f
Branch: refs/heads/master
Commit: dc73420f920d948f63e8abddf37d3136969c2c88
Parents: 2517ce8
Author: Zhitao Li <zh...@gmail.com>
Authored: Tue Jul 5 21:25:46 2016 -0700
Committer: Anand Mazumdar <an...@apache.org>
Committed: Tue Jul 5 22:32:57 2016 -0700
----------------------------------------------------------------------
src/master/http.cpp | 33 +++++++++++++++++++++++----------
src/master/master.hpp | 3 +++
2 files changed, 26 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/dc73420f/src/master/http.cpp
----------------------------------------------------------------------
diff --git a/src/master/http.cpp b/src/master/http.cpp
index 2341f15..7020095 100644
--- a/src/master/http.cpp
+++ b/src/master/http.cpp
@@ -1346,6 +1346,22 @@ Future<Response> Master::Http::getFrameworks(
{
CHECK_EQ(mesos::master::Call::GET_FRAMEWORKS, call.type());
+ return _getFrameworks(principal)
+ .then([contentType](
+ const mesos::master::Response::GetFrameworks& getFrameworks)
+ -> Future<Response> {
+ mesos::master::Response response;
+ response.set_type(mesos::master::Response::GET_FRAMEWORKS);
+ response.mutable_get_frameworks()->CopyFrom(getFrameworks);
+ return OK(serialize(contentType, evolve(response)),
+ stringify(contentType));
+ });
+}
+
+
+Future<mesos::master::Response::GetFrameworks> Master::Http::_getFrameworks(
+ const Option<string>& principal) const
+{
// Retrieve `ObjectApprover`s for authorizing frameworks.
Future<Owned<ObjectApprover>> frameworksApprover;
@@ -1364,9 +1380,9 @@ Future<Response> Master::Http::getFrameworks(
return frameworksApprover
.then(defer(master->self(),
- [=](const Owned<ObjectApprover>& frameworksApprover) -> Response {
- mesos::master::Response response;
- response.set_type(mesos::master::Response::GET_FRAMEWORKS);
+ [=](const Owned<ObjectApprover>& frameworksApprover)
+ -> Future<mesos::master::Response::GetFrameworks> {
+ mesos::master::Response::GetFrameworks getFrameworks;
foreachvalue (const Framework* framework,
master->frameworks.registered) {
@@ -1375,8 +1391,7 @@ Future<Response> Master::Http::getFrameworks(
continue;
}
- response.mutable_get_frameworks()->add_frameworks()
- ->CopyFrom(model(*framework));
+ getFrameworks.add_frameworks()->CopyFrom(model(*framework));
}
foreach (const std::shared_ptr<Framework>& framework,
@@ -1386,21 +1401,19 @@ Future<Response> Master::Http::getFrameworks(
continue;
}
- response.mutable_get_frameworks()->add_completed_frameworks()
- ->CopyFrom(model(*framework));
+ getFrameworks.add_completed_frameworks()->CopyFrom(model(*framework));
}
foreachvalue (const Slave* slave, master->slaves.registered) {
foreachkey (const FrameworkID& frameworkId, slave->tasks) {
if (!master->frameworks.registered.contains(frameworkId)) {
- response.mutable_get_frameworks()->add_unsubscribed_frameworks()
+ getFrameworks.add_unsubscribed_frameworks()
->set_value(frameworkId.value());
}
}
}
- return OK(serialize(contentType, evolve(response)),
- stringify(contentType));
+ return getFrameworks;
}));
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/dc73420f/src/master/master.hpp
----------------------------------------------------------------------
diff --git a/src/master/master.hpp b/src/master/master.hpp
index 09e5105..6f2a2b5 100644
--- a/src/master/master.hpp
+++ b/src/master/master.hpp
@@ -1489,6 +1489,9 @@ private:
const Option<std::string>& principal,
ContentType contentType) const;
+ process::Future<mesos::master::Response::GetFrameworks> _getFrameworks(
+ const Option<std::string>& principal) const;
+
process::Future<process::http::Response> getExecutors(
const mesos::master::Call& call,
const Option<std::string>& principal,