/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
cloud/filestore/apps/client/lib/reset_session.cpp
69 строк
2 KB
Andrei Strelkovskii
filestore service: logging client-id to profile log; added support for --client-id in most of the filestore-client commands (#4926)
01 янв 2026, 23:31
Не верифицирован
01 янв 2026, 23:31
a0ec4f4
Код
Авторство
О чём код?
#include "command.h" #include <cloud/filestore/public/api/protos/session.pb.h> #include <library/cpp/string_utils/base64/base64.h> namespace NCloud::NFileStore::NClient { namespace { //////////////////////////////////////////////////////////////////////////////// class TResetSessionCommand final : public TFileStoreCommand { private: TString SessionId; ui64 SeqNo = 0; TString SessionState; public: TResetSessionCommand() : TFileStoreCommand(true /* isClientIdRequired */) { Opts.AddLongOption("session-id") .RequiredArgument("SESSION_ID") .Required() .StoreResult(&SessionId); Opts.AddLongOption("seq-no") .RequiredArgument("SEQ_NO") .StoreResult(&SeqNo); Opts.AddLongOption("session-state") .RequiredArgument("BASE64_SESSION_STATE") .StoreResult(&SessionState); } bool Execute() override { auto request = CreateRequest<NProto::TResetSessionRequest>(); auto& headers = *request->MutableHeaders(); headers.SetSessionId(SessionId); headers.SetClientId(ClientId); headers.SetSessionSeqNo(SeqNo); if (SessionState) { request->SetSessionState(Base64Decode(SessionState)); } auto response = WaitFor(Client->ResetSession( PrepareCallContext(), std::move(request))); CheckResponse(response); return true; } }; } // namespace //////////////////////////////////////////////////////////////////////////////// TCommandPtr NewResetSessionCommand() { return std::make_shared<TResetSessionCommand>(); } } // namespace NCloud::NFileStore::NClient