/* * Copyright 2016 ScylaDB */ /* * SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.0 */ #pragma once #include #include #include "gms/gossip_address_map.hh" #include "replica/database_fwd.hh" #include "tasks/task_manager.hh" #include "seastarx.hh" using request = http::request; using reply = http::reply; namespace compaction { class compaction_manager; } namespace service { class load_meter; class storage_proxy; class storage_service; class raft_group0_client; class raft_group_registry; class client_routes_service; } // namespace service class sstables_loader; namespace streaming { class stream_manager; } namespace gms { class inet_address; } namespace locator { class token_metadata; class shared_token_metadata; class snitch_ptr; } // namespace locator namespace cql_transport { class controller; } namespace db { class snapshot_ctl; class config; class sstables_format_selector; namespace view { class view_builder; } } namespace netw { class messaging_service; } class repair_service; namespace gms { class gossiper; } namespace auth { class service; } namespace tasks { class task_manager; } namespace cql3 { class query_processor; } namespace api { struct http_context { sstring api_dir; sstring api_doc; httpd::http_server_control http_server; sharded& db; http_context(sharded& _db) : db(_db) { } }; future<> set_server_init(http_context& ctx); future<> set_server_config(http_context& ctx, db::config& cfg); future<> unset_server_config(http_context& ctx); future<> set_server_snitch(http_context& ctx, sharded& snitch); future<> unset_server_snitch(http_context& ctx); future<> set_server_storage_service(http_context& ctx, sharded& ss, sharded&, service::raft_group0_client&); future<> unset_server_storage_service(http_context& ctx); future<> set_server_client_routes(http_context& ctx, sharded& cr); future<> unset_server_client_routes(http_context& ctx); future<> set_server_sstables_loader(http_context& ctx, sharded& sst_loader); future<> unset_server_sstables_loader(http_context& ctx); future<> set_server_view_builder(http_context& ctx, sharded& vb, sharded& g); future<> unset_server_view_builder(http_context& ctx); future<> set_server_repair(http_context& ctx, sharded& repair, sharded& am); future<> unset_server_repair(http_context& ctx); future<> set_transport_controller(http_context& ctx, cql_transport::controller& ctl); future<> unset_transport_controller(http_context& ctx); future<> set_thrift_controller(http_context& ctx); future<> unset_thrift_controller(http_context& ctx); future<> set_server_authorization_cache(http_context& ctx, sharded &auth_service); future<> unset_server_authorization_cache(http_context& ctx); future<> set_server_snapshot(http_context& ctx, sharded& snap_ctl); future<> unset_server_snapshot(http_context& ctx); future<> set_server_token_metadata(http_context& ctx, sharded& tm, sharded& g); future<> unset_server_token_metadata(http_context& ctx); future<> set_server_gossip(http_context& ctx, sharded& g); future<> unset_server_gossip(http_context& ctx); future<> set_server_column_family(http_context& ctx, sharded& db); future<> unset_server_column_family(http_context& ctx); future<> set_server_messaging_service(http_context& ctx, sharded& ms); future<> unset_server_messaging_service(http_context& ctx); future<> set_server_storage_proxy(http_context& ctx, sharded& proxy); future<> unset_server_storage_proxy(http_context& ctx); future<> set_server_stream_manager(http_context& ctx, sharded& sm); future<> unset_server_stream_manager(http_context& ctx); future<> set_hinted_handoff(http_context& ctx, sharded& p, sharded& g); future<> unset_hinted_handoff(http_context& ctx); future<> set_server_compaction_manager(http_context& ctx, sharded& cm); future<> unset_server_compaction_manager(http_context& ctx); future<> set_server_done(http_context& ctx); future<> set_server_task_manager(http_context& ctx, sharded& tm, lw_shared_ptr cfg, sharded& gossiper); future<> unset_server_task_manager(http_context& ctx); future<> set_server_task_manager_test(http_context& ctx, sharded& tm); future<> unset_server_task_manager_test(http_context& ctx); future<> set_server_tasks_compaction_module(http_context& ctx, sharded& ss, sharded& snap_ctl); future<> unset_server_tasks_compaction_module(http_context& ctx); future<> set_server_raft(http_context&, sharded&); future<> unset_server_raft(http_context&); future<> set_load_meter(http_context& ctx, service::load_meter& lm); future<> unset_load_meter(http_context& ctx); future<> set_server_cql_server_test(http_context& ctx, cql_transport::controller& ctl); future<> unset_server_cql_server_test(http_context& ctx); future<> set_server_service_levels(http_context& ctx, cql_transport::controller& ctl, sharded& qp); future<> set_server_commitlog(http_context& ctx, sharded&); future<> unset_server_commitlog(http_context& ctx); }