diff options
author | pavook <pavook@yandex-team.com> | 2025-02-10 17:42:46 +0300 |
---|---|---|
committer | pavook <pavook@yandex-team.com> | 2025-02-10 18:28:30 +0300 |
commit | 54ba9649eae8533c0b3c5055f8f1e2e86e12bc92 (patch) | |
tree | db423c326c5674f99c47d4d383de64799a96254d | |
parent | d9d151ee12d424fec871ef7ab1962b7f7697a7ec (diff) | |
download | ydb-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.cpp | 14 | ||||
-rw-r--r-- | yt/yt/client/signature/generator.h | 8 | ||||
-rw-r--r-- | yt/yt/client/signature/signature.h | 7 | ||||
-rw-r--r-- | yt/yt/client/signature/validator.cpp | 14 | ||||
-rw-r--r-- | yt/yt/client/signature/validator.h | 5 |
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) |