Класс chain_storage_t

#include <chain_storage.hpp>

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

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

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

Интерфейс для работы с уже открытым хранилищем цепочек.

Начиная с:
v.1.4.0
Объект, реализующий этот интерфейс необходимо получать с помощью функций create_chain_storage() и open_chain_storage().

Предполагается, что деструктор будет закрывать БД. Поэтому, чтобы завершить работу с БД нужно просто уничтожить объект chain_storage_t.


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

Методы для работы с транзакциями.
virtual void trx_start ()=0
 Начать транзакцию.
virtual void trx_commit ()=0
 Зафиксировать текущую транзакцию.
virtual void trx_rollback ()=0
 Откатить текущую транзакцию.
Методы для работы с цепочками.
virtual chain_id_t chain_create (oess_1::io::istream_t &from, oess_1::uint_t length)=0
 Создать цепочку.
virtual void chain_destroy (const chain_id_t &chain)=0
 Уничтожить цепочку.
virtual void chain_load (const chain_id_t &chain, oess_1::io::ostream_t &to, oess_1::uint_t max_length)=0
 Загрузить цепочку в память.
virtual void chain_update (const chain_id_t &chain, oess_1::io::istream_t &from, oess_1::uint_t length)=0
 Перезаписать значение цепочки.


Методы

virtual chain_id_t chain_create ( oess_1::io::istream_t from,
oess_1::uint_t  length 
) [pure virtual]

Создать цепочку.

Возвращает:
идентификатор созданной цепочки.
Аргументы:
from  Отсюда нужно брать значение сохраняемого объекта.
length  Длина сохраняемого в цепочке объекта.

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

virtual void chain_destroy ( const chain_id_t chain  )  [pure virtual]

Уничтожить цепочку.

Аргументы:
chain  Идентификатор уничтожаемой цепочки.

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

virtual void chain_load ( const chain_id_t chain,
oess_1::io::ostream_t to,
oess_1::uint_t  max_length 
) [pure virtual]

Загрузить цепочку в память.

Если цепочка короче max_length, то в to помещается все значение цепочки. В противном случае в to загружается max_length байт.

Аргументы:
chain  Идентификатор загружаемой цепочки.
to  Приемник загружаемого значения.
max_length  Максимальный объем загружаемого значения.

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

virtual void chain_update ( const chain_id_t chain,
oess_1::io::istream_t from,
oess_1::uint_t  length 
) [pure virtual]

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

Если новое значение цепоки длинее/короче старого значения, то цепочка в хранилище автоматически будет расширена/усечена.

Аргументы:
chain  Идентификатор изменяемой цепочки.
from  Отсюда нужно брать значение объекта.
length  Новая длина сохраняемого в цепочке объекта.

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

virtual void trx_commit (  )  [pure virtual]

Зафиксировать текущую транзакцию.

Исключения:
oess_1::logic_ex_t если нет текущей транзакции.

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

virtual void trx_rollback (  )  [pure virtual]

Откатить текущую транзакцию.

Исключения:
oess_1::logic_ex_t если нет текущей транзакции.

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

virtual void trx_start (  )  [pure virtual]

Начать транзакцию.

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

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


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