/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
cloud/blockstore/tools/testing/loadtest/lib/range_map.h
44 строки
967 B
wilytiger
add loadtest to oss
29 сен 2023, 23:06
29 сен 2023, 23:06
c2f652a
Код
Авторство
О чём код?
#pragma once #include "public.h" #include <cloud/blockstore/libs/common/block_range.h> #include <util/generic/set.h> #include <util/generic/maybe.h> #include <util/random/random.h> namespace NCloud::NBlockStore::NLoadTest { //////////////////////////////////////////////////////////////////////////////// class TRangeMap { struct Greater { bool operator () ( const TBlockRange64& a, const TBlockRange64& b) const { return a.Start > b.Start; } }; TSet<TBlockRange64, Greater> Blocks; public: TRangeMap() = default; TRangeMap(const TBlockRange64& range); TRangeMap(const TVector<TBlockRange64>& ranges); TMaybe<TBlockRange64> GetBlock(const TBlockRange64& range, bool strict = false); void PutBlock(const TBlockRange64& range); size_t Size() const; bool Empty() const; TString DumpRanges() const; }; } // namespace NCloud::NBlockStore::NLoadTest