* timeout_config
- add `updated_timeout_config` which represents an always-updated
options backed by `utils::updateable_value<>`. this class is
used by servers which need to access the latest timeout related
options. the existing `timeout_config` is more like a snapshot
of the `updated_timeout_config`. it is used in the use case where
we don't need to most updated options or we update the options
manually on demand.
* redis, thrift, transport: s/timeout_config/updated_timeout_config/
when appropriate. use the improved version of timeout_config where
we need to have the access to the most-updated version of the timeout
options.
Fixes #10172
Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
28 lines
779 B
C++
28 lines
779 B
C++
/*
|
|
* Copyright (C) 2014-present ScyllaDB
|
|
*/
|
|
|
|
/*
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
|
|
#ifndef APPS_SEASTAR_THRIFT_HANDLER_HH_
|
|
#define APPS_SEASTAR_THRIFT_HANDLER_HH_
|
|
|
|
#include "Cassandra.h"
|
|
#include "auth/service.hh"
|
|
#include "cql3/query_processor.hh"
|
|
#include <memory>
|
|
|
|
struct timeout_config;
|
|
class service_permit;
|
|
namespace service { class storage_service; }
|
|
|
|
namespace data_dictionary {
|
|
class database;
|
|
}
|
|
|
|
std::unique_ptr<::cassandra::CassandraCobSvIfFactory> create_handler_factory(data_dictionary::database db, distributed<cql3::query_processor>& qp, sharded<service::storage_service>& ss, sharded<service::storage_proxy>& proxy, auth::service&, const updateable_timeout_config&, service_permit& current_permit);
|
|
|
|
#endif /* APPS_SEASTAR_THRIFT_HANDLER_HH_ */
|