Класс page_accessor_t

#include <page_accessor.hpp>

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

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

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

Интерфейс объекта, отвечающего за доступ к страницам хранилища.

Начиная с:
v.1.4.0
Штатная реализация std_chain_storage_t владеет объектами кэша и основного файла хранилища. Но для выполнения своих операций делегирует некоторые действия вспомогательным объектам. Например, интерфейсу header_processor_t. А этим вспомогательным объектам требуется доступ к страницам хранилища. При этом вспомогательные объекты не должны ничего знать ни про кэш, ни про хранилище грязных страниц, ни про механизмы извлечения страниц из файла. Для этого вспомогательным объектам будет передаваться интерфейс page_accessor_t, реализация которого знает обо всех этих деталях.

Для создания штатной реализации page_accessor_t необходимо использовать функцию create_std_page_accessor().

Внимание:
Указатели, возвращаемые методами read_access(), write_access() действительны только до следующего обращения к методам *_access и только во время жизни этого объекта accessor-а.


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

virtual bool is_exists (oess_1::uint_t page)=0
 Проверить наличие страницы в основном файле.
virtual const oess_1::char_tread_access (oess_1::uint_t page)=0
 Получить доступ к странице для чтения.
virtual oess_1::char_twrite_access (oess_1::uint_t page)=0
 Получить доступ к странице для записи.


Методы

virtual bool is_exists ( oess_1::uint_t  page  )  [pure virtual]

Проверить наличие страницы в основном файле.

Если страницы нет в основном файле, то доступ к ее содержимому можно получить только через метод write_access().

Возвращает:
true, если страница в основном файле существует.

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

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

Получить доступ к странице для чтения.

Исключения:
oess_1::logic_ex_t,если страницы в основном файле не существует.

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

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

Получить доступ к странице для записи.

Если страницы в основном файле не существовало, то она создается. После этого страница будет считаться существующей, но ее значение будет присутствовать только в кэше (либо в хранилище грязных страниц) до фиксации транзакции.

Исключения:
oess_1::logic_ex_t,если режим работы хранилища не допускает изменения страниц хранилища (например, хранилище открыто в режиме read-only или нет начатых транзакций).

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


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