IArbitrarilyAccessedDataStorage

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску

Интерфейс для чтения и записи в накопитель с произвольной адресацией.

Методы
МетодОписание
ReadOfВозвращает поток чтения данных из буфера, ассоциированного с заданным ключом.
WriteOfВозвращает поток записи данных в буфер, ассоциированный с ключом.
Наследует открыто
КлассОписание
Базовый интерфейс накопителя данных.

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

Для получения доступа требуется знание ключа. Семантика и длина ключей могут быть различными для разных элементов доступа. Также различными могут быть типы потоков, ассоциированных с этими элементами и возвращаемых методами ReadOf и WriteOf.

Типы ключей, потоков и ассоциированных с ключами данных определяются реализацией накопителя данных.

Примером детализации может являться накопитель IContiguousDataStorage смежных данных, адресуемых индексно так, что целочисленный индекс является ключом методов чтения и записи.

Ассоциативный накопитель данных IAssociativeDataStorage, в отличие от IArbitrarilyAccessedDataStorage, вводит понятие узла, который ассоциирован с собственным накопителем данных IDataStorage, и позволяет отдельными методами искать, создавать и удалять узлы, данные которых адресуются с помощью методов IArbitrarilyAccessedDataStorage.

Реализация накопителя, которая поддерживает интерфейс IArbitrarilyAccessedDataStorage, также поддерживает интерфейсы IArbitrarilyAccessedDataStorageInput и IArbitrarilyAccessedDataStorageOutput, которые доступны через использование метода IDataStorage::RepresentAs, вызываемого над this.

См. также
IArbitrarilyAccessedDataStorageInputИнтерфейс для чтения из накопителя с произвольной адресацией данных.
IArbitrarilyAccessedDataStorageOutputИнтерфейс для записи в накопитель с произвольной адресацией.
ArbitrarilyAccessedDataStorageRefСсылочный адаптер, определенный над интерфейсом IArbitrarilyAccessedDataStorage.
ArbitrarilyAccessedDataStorageOwnВладеющий адаптер, определенный над интерфейсом IArbitrarilyAccessedDataStorage.