/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
cloud/blockstore/libs/cells/impl/remote_storage.cpp
77 строк
2 KB
yegorskii
[Blockstore] cells initial commit to main (#3733)
18 авг 2025, 21:28
Не верифицирован
18 авг 2025, 21:28
60fe1cf
Код
Авторство
О чём код?
#include "remote_storage.h" #include <cloud/blockstore/libs/service/context.h> #include <cloud/blockstore/libs/service/request_helpers.h> #include <cloud/blockstore/libs/service/service.h> #include <cloud/blockstore/libs/service/storage.h> #include <util/datetime/base.h> namespace NCloud::NBlockStore::NCells { using namespace NThreading; namespace { //////////////////////////////////////////////////////////////////////////////// struct TRemoteStorage: public IStorage { const IBlockStorePtr Endpoint; explicit TRemoteStorage(IBlockStorePtr endpoint) : Endpoint(std::move(endpoint)) {} TFuture<NProto::TZeroBlocksResponse> ZeroBlocks( TCallContextPtr callContext, std::shared_ptr<NProto::TZeroBlocksRequest> request) override { return Endpoint->ZeroBlocks(std::move(callContext), std::move(request)); } TFuture<NProto::TReadBlocksLocalResponse> ReadBlocksLocal( TCallContextPtr callContext, std::shared_ptr<NProto::TReadBlocksLocalRequest> request) override { return Endpoint->ReadBlocksLocal( std::move(callContext), std::move(request)); } TFuture<NProto::TWriteBlocksLocalResponse> WriteBlocksLocal( TCallContextPtr callContext, std::shared_ptr<NProto::TWriteBlocksLocalRequest> request) override { return Endpoint->WriteBlocksLocal( std::move(callContext), std::move(request)); } TFuture<NProto::TError> EraseDevice( NProto::EDeviceEraseMethod method) override { Y_UNUSED(method); return MakeFuture(MakeError(E_NOT_IMPLEMENTED)); } TStorageBuffer AllocateBuffer(size_t bytesCount) override { Y_UNUSED(bytesCount); return nullptr; } void ReportIOError() override {} }; } // namespace //////////////////////////////////////////////////////////////////////////////// IStoragePtr CreateRemoteStorage(IBlockStorePtr endpoint) { return std::make_shared<TRemoteStorage>(std::move(endpoint)); } } // namespace NCloud::NBlockStore::NCells