MCPcopy Create free account
hub / github.com/apache/mesos / getResourceProviders

Method getResourceProviders

src/slave/http.cpp:2446–2485  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2444
2445
2446Future<Response> Http::getResourceProviders(
2447 const mesos::agent::Call& call,
2448 ContentType acceptType,
2449 const Option<Principal>& principal) const
2450{
2451 CHECK_EQ(mesos::agent::Call::GET_RESOURCE_PROVIDERS, call.type());
2452
2453 LOG(INFO) << "Processing GET_RESOURCE_PROVIDERS call";
2454
2455 return ObjectApprovers::create(
2456 slave->authorizer, principal, {VIEW_RESOURCE_PROVIDER})
2457 .then(defer(
2458 slave->self(),
2459 [this, acceptType](
2460 const Owned<ObjectApprovers>& approvers) -> Response {
2461 agent::Response response;
2462 response.set_type(mesos::agent::Response::GET_RESOURCE_PROVIDERS);
2463
2464 agent::Response::GetResourceProviders* resourceProviders =
2465 response.mutable_get_resource_providers();
2466
2467 foreachvalue (
2468 ResourceProvider* resourceProvider, slave->resourceProviders) {
2469 if (!approvers->approved<VIEW_RESOURCE_PROVIDER>()) {
2470 continue;
2471 }
2472 agent::Response::GetResourceProviders::ResourceProvider* provider =
2473 resourceProviders->add_resource_providers();
2474
2475 provider->mutable_resource_provider_info()->CopyFrom(
2476 resourceProvider->info);
2477
2478 provider->mutable_total_resources()->CopyFrom(
2479 resourceProvider->totalResources);
2480 }
2481
2482 return OK(
2483 serialize(acceptType, evolve(response)), stringify(acceptType));
2484 }));
2485}
2486
2487
2488Future<Response> Http::getState(

Callers

nothing calls this directly

Calls 11

deferFunction · 0.85
OKClass · 0.85
typeMethod · 0.80
CopyFromMethod · 0.80
foreachvalueFunction · 0.70
createFunction · 0.50
serializeFunction · 0.50
evolveFunction · 0.50
stringifyFunction · 0.50
thenMethod · 0.45
selfMethod · 0.45

Tested by

no test coverage detected