aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpavook <pavook@yandex-team.com>2025-02-10 17:42:46 +0300
committerpavook <pavook@yandex-team.com>2025-02-10 18:28:30 +0300
commit54ba9649eae8533c0b3c5055f8f1e2e86e12bc92 (patch)
treedb423c326c5674f99c47d4d383de64799a96254d
parentd9d151ee12d424fec871ef7ab1962b7f7697a7ec (diff)
downloadydb-54ba9649eae8533c0b3c5055f8f1e2e86e12bc92.tar.gz
Make all signature generators and validators friends of TSignature
This commit replaces the weird solution with getters of private fields in generator and validator base classes. commit_hash:739f92ff784c82c59c6efcdc9293c9d18e7ae51f
-rw-r--r--yt/yt/client/signature/generator.cpp14
-rw-r--r--yt/yt/client/signature/generator.h8
-rw-r--r--yt/yt/client/signature/signature.h7
-rw-r--r--yt/yt/client/signature/validator.cpp14
-rw-r--r--yt/yt/client/signature/validator.h5
5 files changed, 13 insertions, 35 deletions
diff --git a/yt/yt/client/signature/generator.cpp b/yt/yt/client/signature/generator.cpp
index 98e3fe0d7e..3c9917e796 100644
--- a/yt/yt/client/signature/generator.cpp
+++ b/yt/yt/client/signature/generator.cpp
@@ -20,25 +20,13 @@ TSignaturePtr TSignatureGeneratorBase::Sign(TYsonString data)
////////////////////////////////////////////////////////////////////////////////
-TYsonString& TSignatureGeneratorBase::GetHeader(const TSignaturePtr& signature)
-{
- return signature->Header_;
-}
-
-std::vector<std::byte>& TSignatureGeneratorBase::GetSignature(const TSignaturePtr& signature)
-{
- return signature->Signature_;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
class TDummySignatureGenerator
: public TSignatureGeneratorBase
{
public:
void Sign(const TSignaturePtr& signature) override
{
- GetHeader(signature) = NYson::TYsonString("DummySignature"_sb);
+ signature->Header_ = NYson::TYsonString("DummySignature"_sb);
}
};
diff --git a/yt/yt/client/signature/generator.h b/yt/yt/client/signature/generator.h
index 75400030ad..be1af9a0e1 100644
--- a/yt/yt/client/signature/generator.h
+++ b/yt/yt/client/signature/generator.h
@@ -18,10 +18,10 @@ public:
[[nodiscard]] TSignaturePtr Sign(NYson::TYsonString data);
-protected:
- NYson::TYsonString& GetHeader(const TSignaturePtr& signature);
-
- std::vector<std::byte>& GetSignature(const TSignaturePtr& signature);
+private:
+ friend class TSignatureGenerator;
+ friend class TDummySignatureGenerator;
+ friend class TAlwaysThrowingSignatureGenerator;
};
DEFINE_REFCOUNTED_TYPE(TSignatureGeneratorBase)
diff --git a/yt/yt/client/signature/signature.h b/yt/yt/client/signature/signature.h
index 8f37c81261..c9aafba974 100644
--- a/yt/yt/client/signature/signature.h
+++ b/yt/yt/client/signature/signature.h
@@ -28,7 +28,14 @@ private:
std::vector<std::byte> Signature_;
friend class TSignatureGeneratorBase;
+ friend class TSignatureGenerator;
+ friend class TDummySignatureGenerator;
+ friend class TAlwaysThrowingSignatureGenerator;
+
friend class TSignatureValidatorBase;
+ friend class TSignatureValidator;
+ friend class TDummySignatureValidator;
+ friend class TAlwaysThrowingSignatureValidator;
friend void Serialize(const TSignature& signature, NYson::IYsonConsumer* consumer);
friend void Deserialize(TSignature& signature, NYTree::INodePtr node);
diff --git a/yt/yt/client/signature/validator.cpp b/yt/yt/client/signature/validator.cpp
index ef57ba0d25..87c9d17b42 100644
--- a/yt/yt/client/signature/validator.cpp
+++ b/yt/yt/client/signature/validator.cpp
@@ -8,25 +8,13 @@ namespace NYT::NSignature {
////////////////////////////////////////////////////////////////////////////////
-const NYson::TYsonString& TSignatureValidatorBase::GetHeader(const TSignaturePtr& signature)
-{
- return signature->Header_;
-}
-
-const std::vector<std::byte>& TSignatureValidatorBase::GetSignature(const TSignaturePtr& signature)
-{
- return signature->Signature_;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
class TDummySignatureValidator
: public TSignatureValidatorBase
{
public:
TFuture<bool> Validate(const TSignaturePtr& signature) override
{
- YT_VERIFY(GetHeader(signature).ToString() == "DummySignature");
+ YT_VERIFY(signature->Header_.ToString() == "DummySignature");
return TrueFuture;
}
};
diff --git a/yt/yt/client/signature/validator.h b/yt/yt/client/signature/validator.h
index 5a55c2ec0f..011957d6d3 100644
--- a/yt/yt/client/signature/validator.h
+++ b/yt/yt/client/signature/validator.h
@@ -15,11 +15,6 @@ class TSignatureValidatorBase
{
public:
virtual TFuture<bool> Validate(const TSignaturePtr& signature) = 0;
-
-protected:
- const NYson::TYsonString& GetHeader(const TSignaturePtr& signature);
-
- const std::vector<std::byte>& GetSignature(const TSignaturePtr& signature);
};
DEFINE_REFCOUNTED_TYPE(TSignatureValidatorBase)