service, transport: avoid using private storage_service fields

... in the transport controller. Instead, simple getters would suffice.

Message-Id: <582a71d0c1b61edf0107f5a2ef96536c395972d0.1615988516.git.sarna@scylladb.com>
This commit is contained in:
Piotr Sarna
2021-03-17 14:46:34 +01:00
committed by Avi Kivity
parent 42169b2eef
commit ea096de1b4
2 changed files with 6 additions and 3 deletions

View File

@@ -171,7 +171,6 @@ private:
// It shouldn't be impossible to actively serialize two callers if the need
// ever arise.
bool _loading_new_sstables = false;
friend class cql_transport::controller;
sstring _operation_in_progress;
bool _force_remove_completion = false;
bool _ms_stopped = false;
@@ -264,6 +263,10 @@ public:
gms::feature_service& features() { return _feature_service; }
const gms::feature_service& features() const { return _feature_service; }
size_t service_memory_total() const {
return _service_memory_total;
}
semaphore& service_memory_limiter() {
return _service_memory_limiter;
}

View File

@@ -69,8 +69,8 @@ future<> controller::do_start_server() {
auto keepalive = cfg.rpc_keepalive();
cql_transport::cql_server_config cql_server_config;
cql_server_config.timeout_config = make_timeout_config(cfg);
cql_server_config.max_request_size = service::get_local_storage_service()._service_memory_total;
cql_server_config.get_service_memory_limiter_semaphore = [ss = std::ref(service::get_storage_service())] () -> semaphore& { return ss.get().local()._service_memory_limiter; };
cql_server_config.max_request_size = service::get_local_storage_service().service_memory_total();
cql_server_config.get_service_memory_limiter_semaphore = [ss = std::ref(service::get_storage_service())] () -> semaphore& { return ss.get().local().service_memory_limiter(); };
cql_server_config.allow_shard_aware_drivers = cfg.enable_shard_aware_drivers();
cql_server_config.sharding_ignore_msb = cfg.murmur3_partitioner_ignore_msb_bits();
if (cfg.native_shard_aware_transport_port.is_set()) {