Класс cache_t

#include <cache.hpp>

Граф наследования:cache_t:

std_cache_t Полный список членов класса

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

Интерфейс кэша основного файла хранилища.

Начиная с:
v.1.4.0


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

virtual void reinit (oess_1::uint_t cache_size, oess_1::uint_t page_size)=0
virtual void cleanup ()=0
virtual const oess_1::char_tread_access (oess_1::uint_t ordinal)=0
virtual oess_1::char_twrite_access (oess_1::uint_t ordinal)=0
virtual oess_1::char_tpush (const ref_loaded_page_t &page, dirty_page_storage_t &storage, bool is_read_only_access)=0
virtual void copy_all_dirties (dirty_page_storage_t &storage)=0
virtual void clear_all_dirties ()=0
virtual void throw_away_all_dirties ()=0


Методы

virtual void cleanup (  )  [pure virtual]

Очиска содержимого кэша и переход в неинициализированное состояние.

Для работы с таким кэшем необходимо заново вызвать метод reinit().

Замещается в std_cache_t.

virtual void clear_all_dirties (  )  [pure virtual]

Очистить все грязные страницы.

Вызывается после успешной фиксации транзакции. Для всех грязных страниц выставляется признак того, что они чистые. Текущее значение страницы становится исходным значением.

Замещается в std_cache_t.

virtual void copy_all_dirties ( dirty_page_storage_t storage  )  [pure virtual]

Скопировать все грязные страницы в указанное хранилище грязных страниц.

Должна вызываться в конце транзакции для того, чтобы собрать все грязные страницы в одном месте.

Грязные страницы остаются в кэше. Признак того, что они грязные, не сбрасывается.

Замещается в std_cache_t.

virtual oess_1::char_t* push ( const ref_loaded_page_t &  page,
dirty_page_storage_t storage,
bool  is_read_only_access 
) [pure virtual]

Поместить страницу в кэш.

Если у страницы нет предыдущего значения, то она сразу помечается как грязная.

Если свободных элементов в кэше нет, и вытесняется грязная страница, то она вытесняется в хранилище storage.

Аргументы:
page  Значение загруженной страницы.
storage  Приемник для вытесняемой грязной страницы.
is_read_only_access  Признак того, что первый раз страница будет использоваться для чтения.

Замещается в std_cache_t.

virtual const oess_1::char_t* read_access ( oess_1::uint_t  ordinal  )  [pure virtual]

Получить содержимое страницы для чтения.

Возвращает:
0, если страницы в кэше нет.
Аргументы:
ordinal  Порядковый номер страницы в основном файле.

Замещается в std_cache_t.

virtual void reinit ( oess_1::uint_t  cache_size,
oess_1::uint_t  page_size 
) [pure virtual]

Инициализация и переинициализация кэша.

Аргументы:
cache_size  Количество страниц, которые могут одновременно находиться в кэше.
page_size  Размер одной страницы в байтах.

Замещается в std_cache_t.

virtual void throw_away_all_dirties (  )  [pure virtual]

Выбросить все грязные страницы из кэша.

Вызывается после отката транзакции. Все грязные страницы выбрасываются, как будто они и не загружались.

Замещается в std_cache_t.

virtual oess_1::char_t* write_access ( oess_1::uint_t  ordinal  )  [pure virtual]

Получить содержимое страницы для изменения.

Страница помечается как грязная.

Возвращает:
0, если страницы в кэше нет.
Аргументы:
ordinal  Порядковый номер страницы в основном файле.

Замещается в std_cache_t.


Объявления и описания членов классов находятся в файлах:
Документация по ObjESSty. Последние изменения: Fri Oct 13 18:35:38 2006. Создано системой  doxygen 1.4.7
Hosted by uCoz