IConsequentDataStorage
Интерфейс для чтения и записи в накопитель последовательно расположенных данных.
Метод | Описание |
---|---|
Read | Создает поток чтения, связанный с накопителем данных. |
Write | Создает поток записи в накопитель данных. |
Класс | Описание |
---|---|
Базовый интерфейс накопителя данных. |
Блоки данных накопителя адресуются последовательно, один-за другим. Однородность данных и произвольный доступ не гарантируется.
При наличии множества потоков ввода/вывода из накопителя изменения, выполненные с использованием одного экземпляра потока могут приводить к изменениям в адресации, выполняемой другими экземплярами.
На рисунке справа показана возможная реализация интерфейса IConsequentDataStorage. Чтение осуществляется с использованием двух разных потоков чтения - is1 и is2 - но ассоциированных с одной и той же реализацией IConsequentDataStorage. Сначала осуществляется чтение с использованием is1, затем - is2, затем - снова is1. Аналогично осуществляется запись - с использованием двух разных потоков записи - os1 и os2. Эти потоки агрегируются той же реализацией последовательного накопителя данных, что и потоки чтения. То, к какому блоку данных осуществляется доступ, определяется очередностью чтения и записи.
Реализация накопителя, которая поддерживает интерфейс IConsequentDataStorage, также поддерживает интерфейсы IConsequentDataStorageInput и IConsequentDataStorageOutput, которые доступны через использование метода IDataStorage::RepresentAs, вызываемого над this.
- См. также
IConsequentDataStorageInput Интерфейс накопителя последовательно расположенных данных только для чтения. IConsequentDataStorageOutput Интерфейс записи в накопитель последовательно расположенных данных. ConsequentDataStorageRef Ссылочный адаптер, определенный над интерфейсом IConsequentDataStorage. ConsequentDataStorageOwn Владеющий адаптер, определенный над интерфейсом IConsequentDataStorage.