#pragma once #include "fwd.h" #include #include #include namespace NYT::NPrivate { //////////////////////////////////////////////////////////////////////////////// class THostManager { public: static THostManager& Get(); TString GetProxyForHeavyRequest(const TClientContext& context); // For testing purposes only. void Reset(); private: class TClusterHostList; private: TAdaptiveLock Lock_; THashMap ClusterHosts_; private: static TClusterHostList GetHosts(const TClientContext& context); }; //////////////////////////////////////////////////////////////////////////////// } // namespace NYT::NPrivate