Классы | |
| class | tag_hard_config_t |
| Класс тега {hard_config} конфигурации БД. Подробнее... | |
| class | tag_config_t |
| Класс тега {storage-config} конфигурации БД. Подробнее... | |
| class | cache_t |
| Интерфейс кэша основного файла хранилища. Подробнее... | |
| class | header_processor_t |
| Интерфейс объекта, отвечающего за работу с заголовками различных областей основного файла хранилища. Подробнее... | |
| class | common_header_t |
| Тип общего заголовка всего файла. Подробнее... | |
| class | area_header_t |
| Тип общего заголовка всего файла. Подробнее... | |
| class | segment_header_t |
| Заголовок логического сегмента. Подробнее... | |
| class | mem_dirty_page_storage_t |
| Хранилище грязных страниц в оперативной памяти. Подробнее... | |
| class | page_accessor_t |
| Интерфейс объекта, отвечающего за доступ к страницам хранилища. Подробнее... | |
| class | segment_header_item_t |
| Тип одного элемента заголовка логического сегмента. Подробнее... | |
| class | std_cache_t |
| Реализация интерфейса кэша основного файла хранилища. Подробнее... | |
| class | std_chain_storage_t |
| Штатная реализация интерфейса chain_storage_t. Подробнее... | |
| class | stream_desc_t |
| Описатель потока хранилища. Подробнее... | |
| class | stream_item_t |
| Один элемент потока сущностей. Подробнее... | |
| class | std_entity_stream_t |
| Штатная реализация интерфейса entity_stream_t. Подробнее... | |
| class | std_stream_storage_t |
| Штатная реализация интерфейса stream_storage_t. Подробнее... | |
| class | stream_storage_dir_item_t |
| Элемент оглавления хранилища потоков. Подробнее... | |
| class | stream_storage_dir_t |
| Оглавление хранилища потоков. Подробнее... | |
| struct | page_use_timer_t |
| Счетчик использования страницы хранилища. Подробнее... | |
| class | std_header_processor_t |
| Штатная реализация интерфейса header_processor_t. Подробнее... | |
| class | std_page_accessor_t |
| Штатная реализация интерфейса page_accessor_t. Подробнее... | |
| class | page_to_main_file_actor_t |
Пространства имен | |
| namespace | std_cache_aux |
| Вспомогательное пространство имен. | |
Функции | |
| std::auto_ptr< cache_t > | create_std_cache () |
| std::auto_ptr< header_processor_t > | create_std_header_processor (const config_t &config, page_accessor_t &accessor, bool is_read_only) |
| Создать штатную реализацию интерфейса header_processor_t. | |
| oess_1::io::obinstream_t & | operator<< (oess_1::io::obinstream_t &to, const common_header_t &what) |
| Сохранить в указанный поток. | |
| oess_1::io::ibinstream_t & | operator>> (oess_1::io::ibinstream_t &from, common_header_t &what) |
| Прочитать из указанного потока. | |
| std::auto_ptr< page_accessor_t > | create_std_page_accessor (const config_t &config, oess_1::file::file_t &main_file, oess_1::uint_t &main_file_logic_length, cache_t &cache, dirty_page_storage_t &dirty_pages, bool is_read_only) |
| Создать штатную реализацию интерфейса page_accessor_t. | |
| oess_1::uint_t * | operator<< (oess_1::uint_t *to, const segment_header_item_t &what) |
| Сохранить в указанный поток. | |
| const oess_1::uint_t * | operator>> (const oess_1::uint_t *from, segment_header_item_t &what) |
| Прочитать из указанного потока. | |
| static std::vector< oess_1::uint_t > | detect_pages_to_throw_out (const std::map< oess_1::uint_t, oess_1::uint_t > &statistics, oess_1::uint_t pages_to_throw) |
| static bool | is_must_be_throw_out (const std::vector< oess_1::uint_t > &pages_to_throw, oess_1::uint_t page) |
| oess_1::err_code_t | make_outer_err_code (const std::string &physic_name, const std::string &method_name, const oess_1::err_code_t &nested) |
| chain_id_t | first_chain_id (const config_t &config) |
| std::auto_ptr< cache_t > create_std_cache | ( | ) |
| std::auto_ptr< header_processor_t > create_std_header_processor | ( | const config_t & | config, | |
| page_accessor_t & | accessor, | |||
| bool | is_read_only | |||
| ) |
Создать штатную реализацию интерфейса header_processor_t.
| config | Конфигурация для хранилища. |
| accessor | Объект для доступа к страницам хранилища. |
| is_read_only | true, если объект должен создаваться только для чтения. |
| std::auto_ptr< page_accessor_t > create_std_page_accessor | ( | const config_t & | config, | |
| oess_1::file::file_t & | main_file, | |||
| oess_1::uint_t & | main_file_logic_length, | |||
| cache_t & | cache, | |||
| dirty_page_storage_t & | dirty_pages, | |||
| bool | is_read_only | |||
| ) |
Создать штатную реализацию интерфейса page_accessor_t.
| config | Конфигурация для хранилища. |
| main_file | Основной файл БД. |
| main_file_logic_length | Логическая длина основного файла. Будет изменяться по мере создания новых страниц. |
| cache | Кэш хранилища. |
| dirty_pages | Хранилище грязных страниц. |
| is_read_only | true, если допускается только чтение страниц хранилища. |
| static std::vector< oess_1::uint_t > oess_1::db::storage::impl::detect_pages_to_throw_out | ( | const std::map< oess_1::uint_t, oess_1::uint_t > & | statistics, | |
| oess_1::uint_t | pages_to_throw | |||
| ) | [static] |
Вычислить номера страниц, которые подлежат изъятию.
Для вычисления просто формируем вектор структур
page_use_timer_t и сортируем его. Затем берем
pages_to_throw первых элементов и переносим их
в результирующий вектор. Затем результирующий
вектор сортируется.
| statistics | Статистика использования страниц. |
| pages_to_throw | Количество страниц для изъятия. |
| static bool oess_1::db::storage::impl::is_must_be_throw_out | ( | const std::vector< oess_1::uint_t > & | pages_to_throw, | |
| oess_1::uint_t | page | |||
| ) | [static] |
| pages_to_throw | Результат работы функции detect_pages_to_throw_out(). |
| page | Страница, которую нужно вычеркнуть. |
| chain_id_t oess_1::db::storage::impl::first_chain_id | ( | const config_t & | config | ) |
1.4.7