aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2024-02-03 13:02:20 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2024-02-03 13:13:20 +0300
commit269e545acb165a523d243928f9586b107933e7c3 (patch)
tree7d9f22f2ac0f0876a1eef51b860e5a712987e2b3
parent0fd18e57c83709eee303a544bdc91337d7139e65 (diff)
downloadydb-269e545acb165a523d243928f9586b107933e7c3.tar.gz
Intermediate changes
-rw-r--r--yt/yt/core/misc/intern_registry-inl.h4
-rw-r--r--yt/yt/core/misc/serialize-inl.h33
-rw-r--r--yt/yt/core/misc/serialize.h21
3 files changed, 12 insertions, 46 deletions
diff --git a/yt/yt/core/misc/intern_registry-inl.h b/yt/yt/core/misc/intern_registry-inl.h
index 80d49c45314..ad9a04ce49f 100644
--- a/yt/yt/core/misc/intern_registry-inl.h
+++ b/yt/yt/core/misc/intern_registry-inl.h
@@ -207,11 +207,11 @@ struct TInternedObjectSerializer
const auto& registry = context.template GetInternRegistry<T>();
object = registry->Intern(std::move(value));
auto loadedKey = context.RegisterRefCountedEntity(object.ToDataPtr());
- SERIALIZATION_DUMP_WRITE(context, "objref %v", loadedKey.Index);
+ SERIALIZATION_DUMP_WRITE(context, "objref %v", loadedKey);
}
} else {
object = TInternedObject<T>::FromDataPtr(context.template GetRefCountedEntity<TInternedObjectData<T>>(key));
- SERIALIZATION_DUMP_WRITE(context, "objref %v", key.Index);
+ SERIALIZATION_DUMP_WRITE(context, "objref %v", key);
}
}
};
diff --git a/yt/yt/core/misc/serialize-inl.h b/yt/yt/core/misc/serialize-inl.h
index cb1eb526bf9..dd39441912d 100644
--- a/yt/yt/core/misc/serialize-inl.h
+++ b/yt/yt/core/misc/serialize-inl.h
@@ -5,6 +5,7 @@
#endif
#include "collection_helpers.h"
+#include "maybe_inf.h"
#include <library/cpp/yt/small_containers/compact_vector.h>
#include <library/cpp/yt/small_containers/compact_flat_map.h>
@@ -301,31 +302,6 @@ Y_FORCE_INLINE TLoadContextStream* TStreamLoadContext::GetInput()
////////////////////////////////////////////////////////////////////////////////
-inline constexpr TEntitySerializationKey::TEntitySerializationKey()
- : Index(-1)
-{ }
-
-inline constexpr TEntitySerializationKey::TEntitySerializationKey(int index)
- : Index(index)
-{ }
-
-inline constexpr TEntitySerializationKey::operator bool() const
-{
- return Index != -1;
-}
-
-inline void TEntitySerializationKey::Save(TEntityStreamSaveContext& context) const
-{
- NYT::Save(context, Index);
-}
-
-inline void TEntitySerializationKey::Load(TEntityStreamLoadContext& context)
-{
- NYT::Load(context, Index);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
inline TEntitySerializationKey TEntityStreamSaveContext::GenerateSerializationKey()
{
YT_VERIFY(!ParentContext_);
@@ -390,9 +366,10 @@ T* TEntityStreamLoadContext::GetRawEntity(TEntitySerializationKey key) const
return ParentContext_->GetRawEntity<T>(key);
}
- YT_ASSERT(key.Index >= 0);
- YT_ASSERT(key.Index < std::ssize(RawPtrs_));
- return static_cast<T*>(RawPtrs_[key.Index]);
+ auto index = key.Underlying();
+ YT_ASSERT(index >= 0);
+ YT_ASSERT(index < std::ssize(RawPtrs_));
+ return static_cast<T*>(RawPtrs_[index]);
}
template <class T>
diff --git a/yt/yt/core/misc/serialize.h b/yt/yt/core/misc/serialize.h
index 539f980a91a..4bc65cfdb10 100644
--- a/yt/yt/core/misc/serialize.h
+++ b/yt/yt/core/misc/serialize.h
@@ -5,13 +5,14 @@
#include "mpl.h"
#include "property.h"
#include "serialize_dump.h"
-
#include "maybe_inf.h"
#include <library/cpp/yt/assert/assert.h>
#include <library/cpp/yt/memory/ref.h>
+#include <library/cpp/yt/misc/strong_typedef.h>
+
#include <util/stream/buffered.h>
#include <util/stream/file.h>
#include <util/stream/zerocopy_output.h>
@@ -212,20 +213,8 @@ private:
////////////////////////////////////////////////////////////////////////////////
-struct TEntitySerializationKey
-{
- constexpr TEntitySerializationKey();
- constexpr explicit TEntitySerializationKey(int index);
-
- constexpr bool operator==(const TEntitySerializationKey& other) const = default;
-
- constexpr explicit operator bool() const;
-
- void Save(TEntityStreamSaveContext& context) const;
- void Load(TEntityStreamLoadContext& context);
-
- int Index;
-};
+YT_DEFINE_STRONG_TYPEDEF(TEntitySerializationKey, i32);
+constexpr auto NullEntitySerializationKey = TEntitySerializationKey(-1);
////////////////////////////////////////////////////////////////////////////////
@@ -241,7 +230,7 @@ public:
TEntitySerializationKey GenerateSerializationKey();
- static inline const TEntitySerializationKey InlineKey = TEntitySerializationKey(-3);
+ static constexpr TEntitySerializationKey InlineKey = TEntitySerializationKey(-3);
template <class T>
TEntitySerializationKey RegisterRawEntity(T* entity);