diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2025-01-31 00:03:38 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2025-01-31 00:16:09 +0300 |
commit | 73d35327ad05f0f37dda320ec4ea63b8f57ec8fd (patch) | |
tree | 1c91cb995831db91ef01fa9479ce667323af76cc | |
parent | 510c36818ff4f9a5a4469aa478cb01f52aa6fbd5 (diff) | |
download | ydb-73d35327ad05f0f37dda320ec4ea63b8f57ec8fd.tar.gz |
Intermediate changes
commit_hash:881bce6040ac92471a97bbc859814cb1e86173d6
-rw-r--r-- | yt/yt/client/driver/driver.cpp | 32 | ||||
-rw-r--r-- | yt/yt/client/driver/driver.h | 10 |
2 files changed, 37 insertions, 5 deletions
diff --git a/yt/yt/client/driver/driver.cpp b/yt/yt/client/driver/driver.cpp index dc3e9321fc0..2141e3eff5d 100644 --- a/yt/yt/client/driver/driver.cpp +++ b/yt/yt/client/driver/driver.cpp @@ -33,7 +33,6 @@ #include <yt/yt/library/tvm/tvm_base.h> - namespace NYT::NDriver { using namespace NYTree; @@ -51,6 +50,7 @@ using namespace NHiveClient; using namespace NTabletClient; using namespace NApi; using namespace NNodeTrackerClient; +using namespace NSignature; using namespace NTracing; //////////////////////////////////////////////////////////////////////////////// @@ -112,7 +112,11 @@ class TDriver : public IDriver { public: - TDriver(TDriverConfigPtr config, IConnectionPtr connection) + TDriver( + TDriverConfigPtr config, + IConnectionPtr connection, + TSignatureGeneratorBasePtr signatureGenerator, + TSignatureValidatorBasePtr signatureValidator) : Config_(std::move(config)) , Connection_(std::move(connection)) , ClientCache_(New<TClientCache>(Config_->ClientCache, Connection_)) @@ -122,6 +126,8 @@ public: , ProxyDiscoveryCache_(CreateProxyDiscoveryCache( Config_->ProxyDiscoveryCache, RootClient_)) + , SignatureGenerator_(std::move(signatureGenerator)) + , SignatureValidator_(std::move(signatureValidator)) , StickyTransactionPool_(CreateStickyTransactionPool(Logger())) { // Register all commands. @@ -495,6 +501,16 @@ public: return Connection_; } + TSignatureGeneratorBasePtr GetSignatureGenerator() override + { + return SignatureGenerator_; + } + + TSignatureValidatorBasePtr GetSignatureValidator() override + { + return SignatureValidator_; + } + void Terminate() override { // TODO(ignat): find and eliminate reference loop. @@ -518,6 +534,8 @@ private: TClientCachePtr ClientCache_; const IClientPtr RootClient_; IProxyDiscoveryCachePtr ProxyDiscoveryCache_; + TSignatureGeneratorBasePtr SignatureGenerator_; + TSignatureValidatorBasePtr SignatureValidator_; class TCommandContext; using TCommandContextPtr = TIntrusivePtr<TCommandContext>; @@ -710,14 +728,20 @@ private: IDriverPtr CreateDriver( IConnectionPtr connection, - TDriverConfigPtr config) + TDriverConfigPtr config, + TSignatureGeneratorBasePtr signatureGenerator, + TSignatureValidatorBasePtr signatureValidator) { YT_VERIFY(connection); YT_VERIFY(config); + YT_VERIFY(signatureGenerator); + YT_VERIFY(signatureValidator); return New<TDriver>( std::move(config), - std::move(connection)); + std::move(connection), + std::move(signatureGenerator), + std::move(signatureValidator)); } //////////////////////////////////////////////////////////////////////////////// diff --git a/yt/yt/client/driver/driver.h b/yt/yt/client/driver/driver.h index 05616536dec..ef23bdc67ef 100644 --- a/yt/yt/client/driver/driver.h +++ b/yt/yt/client/driver/driver.h @@ -8,6 +8,8 @@ #include <yt/yt/client/security_client/public.h> +#include <yt/yt/client/signature/public.h> + #include <yt/yt/core/concurrency/async_stream.h> #include <yt/yt/core/misc/error.h> @@ -150,6 +152,10 @@ struct IDriver //! Returns the underlying connection. virtual NApi::IConnectionPtr GetConnection() = 0; + virtual NSignature::TSignatureGeneratorBasePtr GetSignatureGenerator() = 0; + + virtual NSignature::TSignatureValidatorBasePtr GetSignatureValidator() = 0; + //! Terminates the underlying connection. virtual void Terminate() = 0; }; @@ -160,7 +166,9 @@ DEFINE_REFCOUNTED_TYPE(IDriver) IDriverPtr CreateDriver( NApi::IConnectionPtr connection, - TDriverConfigPtr config); + TDriverConfigPtr config, + NSignature::TSignatureGeneratorBasePtr signatureGenerator, + NSignature::TSignatureValidatorBasePtr signatureValidator); //////////////////////////////////////////////////////////////////////////////// |