-
Notifications
You must be signed in to change notification settings - Fork 1.9k
/
admin_tracker.hpp
53 lines (43 loc) · 2.51 KB
/
admin_tracker.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// Copyright 2010-2013 RethinkDB, all rights reserved.
#ifndef CLUSTERING_ADMINISTRATION_ADMIN_TRACKER_HPP_
#define CLUSTERING_ADMINISTRATION_ADMIN_TRACKER_HPP_
#include <map>
#include "errors.hpp"
#include <boost/shared_ptr.hpp>
#include "concurrency/watchable.hpp"
#include "containers/clone_ptr.hpp"
#include "rpc/semilattice/view.hpp"
#include "clustering/administration/issues/global.hpp"
#include "clustering/administration/issues/local_to_global.hpp"
#include "clustering/administration/issues/machine_down.hpp"
#include "clustering/administration/issues/name_conflict.hpp"
#include "clustering/administration/issues/pinnings_shards_mismatch.hpp"
#include "clustering/administration/issues/unsatisfiable_goals.hpp"
#include "clustering/administration/issues/vector_clock_conflict.hpp"
#include "clustering/administration/last_seen_tracker.hpp"
#include "clustering/administration/metadata.hpp"
template <class> class watchable_t;
struct admin_tracker_t {
admin_tracker_t(
boost::shared_ptr<semilattice_read_view_t<cluster_semilattice_metadata_t> > cluster_view,
boost::shared_ptr<semilattice_read_view_t<auth_semilattice_metadata_t> > auth_view,
const clone_ptr_t<watchable_t<std::map<peer_id_t, cluster_directory_metadata_t> > > &directory_view);
~admin_tracker_t();
global_issue_aggregator_t issue_aggregator;
remote_issue_collector_t remote_issue_tracker;
global_issue_aggregator_t::source_t remote_issue_tracker_feed;
machine_down_issue_tracker_t machine_down_issue_tracker;
global_issue_aggregator_t::source_t machine_down_issue_tracker_feed;
name_conflict_issue_tracker_t name_conflict_issue_tracker;
global_issue_aggregator_t::source_t name_conflict_issue_tracker_feed;
vector_clock_conflict_issue_tracker_t vector_clock_conflict_issue_tracker;
global_issue_aggregator_t::source_t vector_clock_issue_tracker_feed;
pinnings_shards_mismatch_issue_tracker_t<memcached_protocol_t> mc_pinnings_shards_mismatch_issue_tracker;
global_issue_aggregator_t::source_t mc_pinnings_shards_mismatch_issue_tracker_feed;
pinnings_shards_mismatch_issue_tracker_t<mock::dummy_protocol_t> dummy_pinnings_shards_mismatch_issue_tracker;
global_issue_aggregator_t::source_t dummy_pinnings_shards_mismatch_issue_tracker_feed;
unsatisfiable_goals_issue_tracker_t unsatisfiable_goals_issue_tracker;
global_issue_aggregator_t::source_t unsatisfiable_goals_issue_tracker_feed;
last_seen_tracker_t last_seen_tracker;
};
#endif // CLUSTERING_ADMINISTRATION_ADMIN_TRACKER_HPP_