/* * Status.h * * This source file is part of the FoundationDB open source project * * Copyright 2013-2018 Apple Inc. and the FoundationDB project authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef FDBSERVER_STATUS_H #define FDBSERVER_STATUS_H #pragma once #include "fdbrpc/fdbrpc.h" #include "fdbserver/WorkerInterface.actor.h" #include "fdbserver/MasterInterface.h" #include "fdbclient/ClusterInterface.h" typedef Standalone> ProcessIssues; typedef std::map> ProcessIssuesMap; void setIssues(ProcessIssuesMap& issueMap, NetworkAddress const& addr, VectorRef const& issues, Optional& issueID); void removeIssues(ProcessIssuesMap& issueMap, NetworkAddress const& addr, Optional& issueID); Future clusterGetStatus( Reference>> const& db, Database const& cx, vector const& workers, ProcessIssuesMap const& workerIssues, std::map>* const& clientStatus, ServerCoordinators const& coordinators, std::vector const& incompatibleConnections, Version const& datacenterVersionDifference ); #endif