/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
cloud/vm/blockstore/bootstrap.h
82 строки
2 KB
yegorskii
Proper usage of ICertificateProvider interface (#6095)
03 июн 2026, 17:28
Не верифицирован
03 июн 2026, 17:28
2a84808
Код
Авторство
О чём код?
#pragma once #include "private.h" #include <cloud/vm/api/blockstore-plugin.h> #include <cloud/vm/blockstore/lib/public.h> #include <cloud/blockstore/libs/client/public.h> #include <cloud/blockstore/libs/common/public.h> #include <cloud/blockstore/libs/diagnostics/public.h> #include <cloud/blockstore/libs/nbd/public.h> #include <cloud/blockstore/libs/throttling/public.h> #include <cloud/storage/core/libs/grpc/init.h> #include <cloud/storage/core/libs/grpc/public.h> #include <cloud/blockstore/config/plugin.pb.h> #include <library/cpp/logger/log.h> #include <util/generic/string.h> #include <util/generic/vector.h> namespace NCloud::NBlockStore::NPlugin { //////////////////////////////////////////////////////////////////////////////// class TBootstrap { private: ILoggingServicePtr Logging; TLog GrpcLog; TLog Log; TGrpcInitializer GrpcInitializer; BlockPluginHost* Host; TString Options; NClient::TClientAppConfigPtr ClientConfig; NProto::TPluginConfig PluginConfig; ITimerPtr Timer; ISchedulerPtr Scheduler; IMonitoringServicePtr Monitoring; IRequestStatsPtr RequestStats; IVolumeStatsPtr VolumeStats; IServerStatsPtr ClientStats; IStatsUpdaterPtr StatsUpdater; TVector<ITraceReaderPtr> TraceReaders; ITraceProcessorPtr TraceProcessor; ICertificateProviderPtr CertificateProvider; IThrottlerPtr Throttler; NClient::IClientPtr Client; NBD::IClientPtr NbdClient; IPluginPtr Plugin; public: TBootstrap(BlockPluginHost* host, TString options); ~TBootstrap(); void Init(); void Start(); void Stop(); IPlugin* GetPlugin() const { return Plugin.get(); } NProto::TPluginMountConfig GetMountConfig(const char* volumeName); NClient::TSessionConfig FillSessionConfig(const BlockPlugin_MountOpts* opts); private: void InitLWTrace(); void InitClientConfig(); }; } // namespace NCloud::NBlockStore::NPlugin