SVCS - Русская документация
Загрузка...
Поиск...
Не найдено
Класс svcs::test::core::MockObjectStorage

Mock implementation of ObjectStorage. Подробнее...

Граф наследования:svcs::test::core::MockObjectStorage:
svcs::core::ObjectStorage

Открытые члены

 MockObjectStorage (const fs::path &temp_dir)
bool saveObject (const VcsObject &object) const override
 Сохраняет VcsObject в базе данных объектов.
std::unique_ptr< VcsObjectloadObject (const std::string &hash) const override
 Загружает объект с диска по его ID хеша.
void clear ()
bool is_blob_saved (const std::string &hash) const
size_t get_saved_blobs_count () const
Открытые члены унаследованные от svcs::core::ObjectStorage
 ObjectStorage (const std::string &root_path, const std::shared_ptr< ISubject > &subject=nullptr)
 Конструктор для ObjectStorage.
virtual ~ObjectStorage ()
 Деструктор.
void setSubject (std::shared_ptr< ISubject > subj)
 Устанавливает или заменяет субъект событий, используемый ObjectStorage.
std::string getObjectPath (const std::string &hash) const
 Формирует полный путь в файловой системе для объекта на основе его хеша.
bool objectExists (const std::string &hash) const
 Проверяет, существует ли объект с заданным хешем на диске.

Открытые атрибуты

std::map< std::string, std::string > saved_blobs

Подробное описание

Mock implementation of ObjectStorage.

  • This mock substitutes the actual filesystem I/O for object saving and loading with an in-memory map, allowing for fast, isolated testing of the Index's interaction with the storage layer.

Методы

◆ loadObject()

std::unique_ptr< VcsObject > svcs::test::core::MockObjectStorage::loadObject ( const std::string & hash) const
inlineoverridevirtual

Загружает объект с диска по его ID хеша.

Читает сжатый файл, распаковывает его, выполняет проверки целостности и десериализует объект с использованием внутреннего фабричного метода.

Аргументы
hashID хеша объекта для загрузки.
Возвращает
std::unique_ptr<VcsObject> Восстановленный экземпляр объекта.
Исключения
std::runtime_errorесли объект не найден, поврежден или недействителен.

Переопределяет метод предка svcs::core::ObjectStorage.

◆ saveObject()

bool svcs::test::core::MockObjectStorage::saveObject ( const VcsObject & obj) const
inlineoverridevirtual

Сохраняет VcsObject в базе данных объектов.

Сериализует объект, добавляет заголовок, сжимает его и записывает в файл. Публикует события об успехе/неудаче.

Аргументы
objVcsObject для сохранения.
Возвращает
bool True, если сохранение прошло успешно.
Исключения
std::runtime_errorесли хеш недействителен или операции ввода-вывода завершаются неудачно.

Переопределяет метод предка svcs::core::ObjectStorage.


Объявления и описания членов класса находятся в файле: