aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcoteeq <coteeq@yandex-team.com>2025-03-03 22:34:35 +0300
committercoteeq <coteeq@yandex-team.com>2025-03-03 23:13:12 +0300
commit1cda8004d0370389c3f09e832a85d82b156844bf (patch)
treed5d9dff1535c94b65acd98845797a9ff93c18988
parente2d07d817eaf9bbb50bc5e40c736c531aa920a37 (diff)
downloadydb-1cda8004d0370389c3f09e832a85d82b156844bf.tar.gz
Fix little shizophrenia about registrars vs configurators
commit_hash:f2efbfa663d932cee297368a29c771878efdeec1
-rw-r--r--yt/yt/core/ytree/unittests/yson_struct_update_ut.cpp8
-rw-r--r--yt/yt/core/ytree/yson_struct_update-inl.h66
-rw-r--r--yt/yt/core/ytree/yson_struct_update.h36
3 files changed, 55 insertions, 55 deletions
diff --git a/yt/yt/core/ytree/unittests/yson_struct_update_ut.cpp b/yt/yt/core/ytree/unittests/yson_struct_update_ut.cpp
index fd82265dd7..5d25807ada 100644
--- a/yt/yt/core/ytree/unittests/yson_struct_update_ut.cpp
+++ b/yt/yt/core/ytree/unittests/yson_struct_update_ut.cpp
@@ -132,8 +132,8 @@ TEST(TUpdateYsonStructTest, Inherited)
auto configurator = TConfigurator<TSpecBase>();
{
- TConfigurator<TSpecWithPool> parentRegistrar = configurator;
- parentRegistrar.Field("pool", &TSpecBase::Pool)
+ TConfigurator<TSpecWithPool> parentConfigurator = configurator;
+ parentConfigurator.Field("pool", &TSpecBase::Pool)
.Updater(BIND([&] (const std::string& newPool) {
updatedPool = newPool;
}));
@@ -154,8 +154,8 @@ TEST(TUpdateYsonStructTest, Nested)
auto configurator = TConfigurator<TSpecBase>();
{
- TConfigurator<TSpecWithPool> parentRegistrar = configurator;
- parentRegistrar.Field("pool", &TSpecBase::Pool)
+ TConfigurator<TSpecWithPool> parentConfigurator = configurator;
+ parentConfigurator.Field("pool", &TSpecBase::Pool)
.Updater(BIND([&] (const std::string& newPool) {
updatedPool = newPool;
}));
diff --git a/yt/yt/core/ytree/yson_struct_update-inl.h b/yt/yt/core/ytree/yson_struct_update-inl.h
index c6ae5f1ead..46ad7fe717 100644
--- a/yt/yt/core/ytree/yson_struct_update-inl.h
+++ b/yt/yt/core/ytree/yson_struct_update-inl.h
@@ -15,24 +15,24 @@ const IYsonStructMeta* GetYsonStructMeta() {
return New<TStruct>()->GetMeta();
}
-struct TRegisteredFieldDirectory
+struct TConfiguredFieldDirectory
: public TRefCounted
{
template <class TStruct>
- static TRegisteredFieldDirectoryPtr Create()
+ static TConfiguredFieldDirectoryPtr Create()
{
static auto* meta = GetYsonStructMeta<TStruct>();
- auto directory = New<TRegisteredFieldDirectory>();
+ auto directory = New<TConfiguredFieldDirectory>();
directory->Meta = meta;
return directory;
}
- THashMap<IYsonStructParameterPtr, IFieldRegistrarPtr> ParameterToFieldRegistrar;
+ THashMap<IYsonStructParameterPtr, IFieldConfiguratorPtr> ParameterToFieldConfigurator;
const IYsonStructMeta* Meta;
};
-DEFINE_REFCOUNTED_TYPE(TRegisteredFieldDirectory);
+DEFINE_REFCOUNTED_TYPE(TConfiguredFieldDirectory);
////////////////////////////////////////////////////////////////////////////////
@@ -49,7 +49,7 @@ struct TUnwrapYsonStructIntrusivePtr<TIntrusivePtr<T>>
////////////////////////////////////////////////////////////////////////////////
template <class TValue>
-TFieldRegistrar<TValue>& TFieldRegistrar<TValue>::Validator(TCallback<void(const TValue&, const TValue&)> validator)
+TFieldConfigurator<TValue>& TFieldConfigurator<TValue>::Validator(TCallback<void(const TValue&, const TValue&)> validator)
{
VerifyEmptyValidator();
Validator_ = validator;
@@ -57,7 +57,7 @@ TFieldRegistrar<TValue>& TFieldRegistrar<TValue>::Validator(TCallback<void(const
}
template <class TValue>
-TFieldRegistrar<TValue>& TFieldRegistrar<TValue>::Validator(TCallback<void(const TValue&)> validator)
+TFieldConfigurator<TValue>& TFieldConfigurator<TValue>::Validator(TCallback<void(const TValue&)> validator)
{
VerifyEmptyValidator();
Validator_ = BIND_NO_PROPAGATE([validator = std::move(validator)] (const TValue& /*oldValue*/, const TValue& newValue) {
@@ -67,7 +67,7 @@ TFieldRegistrar<TValue>& TFieldRegistrar<TValue>::Validator(TCallback<void(const
}
template <class TValue>
-TFieldRegistrar<TValue>& TFieldRegistrar<TValue>::Updater(TCallback<void(const TValue&, const TValue&)> updater)
+TFieldConfigurator<TValue>& TFieldConfigurator<TValue>::Updater(TCallback<void(const TValue&, const TValue&)> updater)
{
VerifyEmptyUpdater();
Updater_ = updater;
@@ -75,7 +75,7 @@ TFieldRegistrar<TValue>& TFieldRegistrar<TValue>::Updater(TCallback<void(const T
}
template <class TValue>
-TFieldRegistrar<TValue>& TFieldRegistrar<TValue>::Updater(TCallback<void(const TValue&)> updater)
+TFieldConfigurator<TValue>& TFieldConfigurator<TValue>::Updater(TCallback<void(const TValue&)> updater)
{
VerifyEmptyUpdater();
Updater_ = BIND_NO_PROPAGATE([updater = std::move(updater)] (const TValue& /*oldValue*/, const TValue& newValue) {
@@ -100,7 +100,7 @@ TFieldRegistrar<TValue>& TFieldRegistrar<TValue>::Updater(TCallback<void(const T
// written as TIntrusivePtr<TMyStruct>, so I need to unwrap that to TMyStruct.
template <class TValue>
template <CYsonStructDerived TUnwrappedValue>
-TFieldRegistrar<TValue>& TFieldRegistrar<TValue>::NestedUpdater(
+TFieldConfigurator<TValue>& TFieldConfigurator<TValue>::NestedUpdater(
TCallback<TSealedConfigurator<TUnwrappedValue>()> configureCallback)
{
static_assert(
@@ -117,7 +117,7 @@ TFieldRegistrar<TValue>& TFieldRegistrar<TValue>::NestedUpdater(
}
template <class TValue>
-void TFieldRegistrar<TValue>::DoValidate(
+void TFieldConfigurator<TValue>::DoValidate(
IYsonStructParameterPtr parameter,
TYsonStructBase* oldStruct,
TYsonStructBase* newStruct) const
@@ -134,7 +134,7 @@ void TFieldRegistrar<TValue>::DoValidate(
}
template <class TValue>
-void TFieldRegistrar<TValue>::DoUpdate(
+void TFieldConfigurator<TValue>::DoUpdate(
IYsonStructParameterPtr parameter,
TYsonStructBase* oldStruct,
TYsonStructBase* newStruct) const
@@ -151,13 +151,13 @@ void TFieldRegistrar<TValue>::DoUpdate(
}
template <class TValue>
-void TFieldRegistrar<TValue>::VerifyEmptyValidator() const
+void TFieldConfigurator<TValue>::VerifyEmptyValidator() const
{
YT_VERIFY(!Validator_);
}
template <class TValue>
-void TFieldRegistrar<TValue>::VerifyEmptyUpdater() const
+void TFieldConfigurator<TValue>::VerifyEmptyUpdater() const
{
YT_VERIFY(!Updater_);
}
@@ -169,32 +169,32 @@ void TFieldRegistrar<TValue>::VerifyEmptyUpdater() const
////////////////////////////////////////////////////////////////////////////////
template <CYsonStructDerived TStruct>
-TConfigurator<TStruct>::TConfigurator(NDetail::TRegisteredFieldDirectoryPtr registeredFields)
- : RegisteredFields_(registeredFields)
+TConfigurator<TStruct>::TConfigurator(NDetail::TConfiguredFieldDirectoryPtr configuredFields)
+ : ConfiguredFields_(configuredFields)
{
- // NB: Initialize TRegisteredFieldDirectory with
+ // NB: Initialize TConfiguredFieldDirectory with
// the youngest child in the hierarchy.
- if (!registeredFields) {
- RegisteredFields_ = NDetail::TRegisteredFieldDirectory::Create<TStruct>();
+ if (!configuredFields) {
+ ConfiguredFields_ = NDetail::TConfiguredFieldDirectory::Create<TStruct>();
}
}
template <CYsonStructDerived TStruct>
template <class TValue>
-NDetail::TFieldRegistrar<TValue>& TConfigurator<TStruct>::Field(const std::string& name, TYsonStructField<TStruct, TValue> field)
+NDetail::TFieldConfigurator<TValue>& TConfigurator<TStruct>::Field(const std::string& name, TYsonStructField<TStruct, TValue> field)
{
IYsonStructParameterPtr parameter;
try {
- parameter = RegisteredFields_->Meta->GetParameter(name);
+ parameter = ConfiguredFields_->Meta->GetParameter(name);
} catch (const std::exception& ex) {
YT_ABORT();
}
YT_VERIFY(parameter->HoldsField(CreateTypeErasedYsonStructField(field)));
- auto fieldRegistrar = New<NDetail::TFieldRegistrar<TValue>>();
- RegisteredFields_->ParameterToFieldRegistrar.emplace(parameter, fieldRegistrar);
- return *fieldRegistrar;
+ auto fieldConfigurator = New<NDetail::TFieldConfigurator<TValue>>();
+ ConfiguredFields_->ParameterToFieldConfigurator.emplace(parameter, fieldConfigurator);
+ return *fieldConfigurator;
}
template <CYsonStructDerived TStruct>
@@ -202,7 +202,7 @@ template <class TAncestor>
TConfigurator<TStruct>::operator TConfigurator<TAncestor>() const
{
static_assert(std::derived_from<TStruct, TAncestor> && std::derived_from<TAncestor, TYsonStructBase>);
- return TConfigurator<TAncestor>(RegisteredFields_);
+ return TConfigurator<TAncestor>(ConfiguredFields_);
}
template <CYsonStructDerived TStruct>
@@ -215,7 +215,7 @@ TSealedConfigurator<TStruct> TConfigurator<TStruct>::Seal() &&
template <CYsonStructDerived TStruct>
TSealedConfigurator<TStruct>::TSealedConfigurator(TConfigurator<TStruct> configurator)
- : RegisteredFields_(std::move(configurator.RegisteredFields_))
+ : ConfiguredFields_(std::move(configurator.ConfiguredFields_))
{ }
template <CYsonStructDerived TStruct>
@@ -223,7 +223,7 @@ void TSealedConfigurator<TStruct>::Validate(
TIntrusivePtr<TStruct> oldStruct,
TIntrusivePtr<TStruct> newStruct) const
{
- Do(oldStruct, newStruct, &NDetail::IFieldRegistrar::DoValidate);
+ Do(oldStruct, newStruct, &NDetail::IFieldConfigurator::DoValidate);
}
template <CYsonStructDerived TStruct>
@@ -231,26 +231,26 @@ void TSealedConfigurator<TStruct>::Update(
TIntrusivePtr<TStruct> oldStruct,
TIntrusivePtr<TStruct> newStruct) const
{
- Do(oldStruct, newStruct, &NDetail::IFieldRegistrar::DoUpdate);
+ Do(oldStruct, newStruct, &NDetail::IFieldConfigurator::DoUpdate);
}
template <CYsonStructDerived TStruct>
void TSealedConfigurator<TStruct>::Do(
TIntrusivePtr<TStruct> oldStruct,
TIntrusivePtr<TStruct> newStruct,
- TFieldRegistrarMethod fieldMethod) const
+ TFieldConfiguratorMethod fieldMethod) const
{
const auto* meta = oldStruct->GetMeta();
YT_VERIFY(meta == newStruct->GetMeta());
- const auto& parameterToFieldRegistrar = RegisteredFields_->ParameterToFieldRegistrar;
- YT_VERIFY(RegisteredFields_->Meta == meta);
+ const auto& parameterToFieldConfigurator = ConfiguredFields_->ParameterToFieldConfigurator;
+ YT_VERIFY(ConfiguredFields_->Meta == meta);
for (const auto& [name, parameter] : meta->GetParameterMap()) {
if (parameter->CompareParameter(oldStruct.Get(), newStruct.Get())) {
continue;
}
- auto fieldDescIter = parameterToFieldRegistrar.find(parameter);
- if (fieldDescIter == parameterToFieldRegistrar.end()) {
+ auto fieldDescIter = parameterToFieldConfigurator.find(parameter);
+ if (fieldDescIter == parameterToFieldConfigurator.end()) {
THROW_ERROR_EXCEPTION("Field %Qv is not marked as updatable, but was changed", name);
} else {
(*(fieldDescIter->second).*fieldMethod)(parameter, oldStruct.Get(), newStruct.Get());
diff --git a/yt/yt/core/ytree/yson_struct_update.h b/yt/yt/core/ytree/yson_struct_update.h
index 7a517d6f57..1b762b9cc4 100644
--- a/yt/yt/core/ytree/yson_struct_update.h
+++ b/yt/yt/core/ytree/yson_struct_update.h
@@ -19,11 +19,11 @@ namespace NDetail {
////////////////////////////////////////////////////////////////////////////////
-DECLARE_REFCOUNTED_STRUCT(TRegisteredFieldDirectory);
+DECLARE_REFCOUNTED_STRUCT(TConfiguredFieldDirectory);
////////////////////////////////////////////////////////////////////////////////
-struct IFieldRegistrar
+struct IFieldConfigurator
: public TRefCounted
{
virtual void DoValidate(
@@ -37,31 +37,31 @@ struct IFieldRegistrar
TYsonStructBase* newStruct) const = 0;
};
-DECLARE_REFCOUNTED_STRUCT(IFieldRegistrar);
-DEFINE_REFCOUNTED_TYPE(IFieldRegistrar);
+DECLARE_REFCOUNTED_STRUCT(IFieldConfigurator);
+DEFINE_REFCOUNTED_TYPE(IFieldConfigurator);
////////////////////////////////////////////////////////////////////////////////
template <class TValue>
-class TFieldRegistrar
- : public IFieldRegistrar
+class TFieldConfigurator
+ : public IFieldConfigurator
{
public:
// Registers validator that accepts old and new values as arguments.
- TFieldRegistrar& Validator(TCallback<void(const TValue&, const TValue&)> validator);
+ TFieldConfigurator& Validator(TCallback<void(const TValue&, const TValue&)> validator);
// Registers validator that accepts only new value as an argument.
- TFieldRegistrar& Validator(TCallback<void(const TValue&)> validator);
+ TFieldConfigurator& Validator(TCallback<void(const TValue&)> validator);
// Registers updater that accepts old and new values as arguments.
- TFieldRegistrar& Updater(TCallback<void(const TValue&, const TValue&)> updater);
+ TFieldConfigurator& Updater(TCallback<void(const TValue&, const TValue&)> updater);
// Registers updater that accepts only new value as an argument.
- TFieldRegistrar& Updater(TCallback<void(const TValue&)> updater);
+ TFieldConfigurator& Updater(TCallback<void(const TValue&)> updater);
// Registers nested YsonStruct to be updated recursively.
template <CYsonStructDerived TUnwrappedValue>
- TFieldRegistrar& NestedUpdater(
+ TFieldConfigurator& NestedUpdater(
TCallback<TSealedConfigurator<TUnwrappedValue>()> configureCallback);
void DoUpdate(
@@ -106,19 +106,19 @@ template <CYsonStructDerived TStruct>
class TConfigurator
{
public:
- explicit TConfigurator(NDetail::TRegisteredFieldDirectoryPtr state = {});
+ explicit TConfigurator(NDetail::TConfiguredFieldDirectoryPtr state = {});
template <class TValue>
- NDetail::TFieldRegistrar<TValue>& Field(const std::string& name, TYsonStructField<TStruct, TValue> field);
+ NDetail::TFieldConfigurator<TValue>& Field(const std::string& name, TYsonStructField<TStruct, TValue> field);
- // Converts to a registrar of a base class
+ // Converts to a configurator of a base class
template <class TAncestor>
operator TConfigurator<TAncestor>() const;
TSealedConfigurator<TStruct> Seal() &&;
private:
- NDetail::TRegisteredFieldDirectoryPtr RegisteredFields_;
+ NDetail::TConfiguredFieldDirectoryPtr ConfiguredFields_;
template <CYsonStructDerived TStructForSealed>
friend class TSealedConfigurator;
@@ -141,7 +141,7 @@ public:
TIntrusivePtr<TStruct> newStruct) const;
private:
- using TFieldRegistrarMethod = void(NDetail::IFieldRegistrar::*)(
+ using TFieldConfiguratorMethod = void(NDetail::IFieldConfigurator::*)(
IYsonStructParameterPtr parameter,
TYsonStructBase* oldStruct,
TYsonStructBase* newStruct) const;
@@ -149,9 +149,9 @@ private:
void Do(
TIntrusivePtr<TStruct> oldStruct,
TIntrusivePtr<TStruct> newStruct,
- TFieldRegistrarMethod fieldMethod) const;
+ TFieldConfiguratorMethod fieldMethod) const;
- NDetail::TRegisteredFieldDirectoryPtr RegisteredFields_;
+ NDetail::TConfiguredFieldDirectoryPtr ConfiguredFields_;
};
////////////////////////////////////////////////////////////////////////////////