diff options
author | babenko <babenko@yandex-team.com> | 2024-08-18 10:00:13 +0300 |
---|---|---|
committer | babenko <babenko@yandex-team.com> | 2024-08-18 10:10:05 +0300 |
commit | bd13d270bcc26bd10bd4a0e101800ab535bc50d1 (patch) | |
tree | 05ffdbe81a23d7a2ac32dcebfcecfe12730adc79 | |
parent | f70011464d75aca9b6fac6bf51b3cf1b8060a25b (diff) | |
download | ydb-bd13d270bcc26bd10bd4a0e101800ab535bc50d1.tar.gz |
YT-22593: Switch to std::string in TSecurityManager
67e522b085acbd31d2e74ebee17799f8d6087da4
-rw-r--r-- | yt/yt/core/misc/fair_scheduler-inl.h | 14 | ||||
-rw-r--r-- | yt/yt/core/misc/fair_scheduler.h | 5 | ||||
-rw-r--r-- | yt/yt/core/ytree/serialize.cpp | 12 | ||||
-rw-r--r-- | yt/yt/core/ytree/serialize.h | 6 |
4 files changed, 27 insertions, 10 deletions
diff --git a/yt/yt/core/misc/fair_scheduler-inl.h b/yt/yt/core/misc/fair_scheduler-inl.h index fff2a2c26c..7de98c82d1 100644 --- a/yt/yt/core/misc/fair_scheduler-inl.h +++ b/yt/yt/core/misc/fair_scheduler-inl.h @@ -20,7 +20,7 @@ class TFairScheduler : public IFairScheduler<TTask> { public: - void Enqueue(TTask task, const TString& user) override + void Enqueue(TTask task, const std::string& user) override { auto guard = Guard(Lock_); @@ -84,7 +84,7 @@ public: return BucketHeap_.empty(); } - void ChargeUser(const TString& user, TDuration time) override + void ChargeUser(const std::string& user, TDuration time) override { auto guard = Guard(Lock_); @@ -99,11 +99,11 @@ private: struct TUserBucket { - explicit TUserBucket(TString userName) - : UserName(std::move(userName)) + explicit TUserBucket(const std::string& userName) + : UserName(userName) { } - TString UserName; + std::string UserName; TDuration ExcessTime; //! Typically equals ExcessTime; however when a user is charged we just update ExcessTime //! and leave HeapKey intact. Upon extracting heap's top we check if its ExcessTime matches its HeapKey @@ -121,14 +121,14 @@ private: } }; - THashMap<TString, TUserBucket> NameToUserBucket_; + THashMap<std::string, TUserBucket> NameToUserBucket_; TDuration ExcessBaseline_; //! Min-heap ordered by TUserBucket::ExcessTime. //! A bucket is only present here iff it has at least one task. std::vector<TUserBucket*> BucketHeap_; - TUserBucket* GetOrCreateBucket(const TString& userName) + TUserBucket* GetOrCreateBucket(const std::string& userName) { VERIFY_SPINLOCK_AFFINITY(Lock_); diff --git a/yt/yt/core/misc/fair_scheduler.h b/yt/yt/core/misc/fair_scheduler.h index 7f7d607667..3f32fabde3 100644 --- a/yt/yt/core/misc/fair_scheduler.h +++ b/yt/yt/core/misc/fair_scheduler.h @@ -10,13 +10,12 @@ template <class TTask> struct IFairScheduler : public TRefCounted { - virtual void Enqueue(TTask task, const TString& user) = 0; - + virtual void Enqueue(TTask task, const std::string& user) = 0; virtual TTask Dequeue() = 0; virtual bool IsEmpty() const = 0; - virtual void ChargeUser(const TString& user, TDuration time) = 0; + virtual void ChargeUser(const std::string& user, TDuration time) = 0; }; //////////////////////////////////////////////////////////////////////////////// diff --git a/yt/yt/core/ytree/serialize.cpp b/yt/yt/core/ytree/serialize.cpp index 8476a92b7e..13a118efd8 100644 --- a/yt/yt/core/ytree/serialize.cpp +++ b/yt/yt/core/ytree/serialize.cpp @@ -113,6 +113,12 @@ void Serialize(double value, IYsonConsumer* consumer) consumer->OnDoubleScalar(value); } +// std::string +void Serialize(const std::string& value, IYsonConsumer* consumer) +{ + consumer->OnStringScalar(value); +} + // TString void Serialize(const TString& value, IYsonConsumer* consumer) { @@ -232,6 +238,12 @@ void Deserialize(double& value, INodePtr node) } } +// std::string +void Deserialize(std::string& value, INodePtr node) +{ + value = node->AsString()->GetValue(); +} + // TString void Deserialize(TString& value, INodePtr node) { diff --git a/yt/yt/core/ytree/serialize.h b/yt/yt/core/ytree/serialize.h index 633507dce5..3aa784ac8d 100644 --- a/yt/yt/core/ytree/serialize.h +++ b/yt/yt/core/ytree/serialize.h @@ -75,6 +75,9 @@ void Serialize(unsigned long long value, NYson::IYsonConsumer* consumer); // double void Serialize(double value, NYson::IYsonConsumer* consumer); +// std::string +void Serialize(const std::string& value, NYson::IYsonConsumer* consumer); + // TString void Serialize(const TString& value, NYson::IYsonConsumer* consumer); @@ -190,6 +193,9 @@ void Deserialize(unsigned long long& value, INodePtr node); // double void Deserialize(double& value, INodePtr node); +// std::string +void Deserialize(std::string& value, INodePtr node); + // TString void Deserialize(TString& value, INodePtr node); |