IConsequentDataStorageOutput: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
м
Строка 7: Строка 7:
{{sa_list_end}}
{{sa_list_end}}


Блоки данных накопителя адресуются последовательно, один-за другим. Однородность данных и произвольный доступ не гарантируется.
Блоки данных накопителя адресуются последовательно, один-за другим. Однородность данных и произвольный доступ не гарантируются.


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

Версия 18:27, 14 августа 2019

Интерфейс записи в накопитель последовательно расположенных данных.

Методы
МетодОписание
WriteСоздает поток записи в накопитель данных.
Наследует открыто
КлассОписание
Базовый интерфейс накопителя данных.
См. также
IConsequentDataStorageInputИнтерфейс накопителя последовательно расположенных данных только для чтения.
IConsequentDataStorageИнтерфейс для чтения и записи в накопитель последовательно расположенных данных.
ConsequentDataStorageOutputRefСсылочный адаптер, определенный над интерфейсом IConsequentDataStorageOutput.
ConsequentDataStorageOutputOwnВладеющий адаптер, определенный над интерфейсом IConsequentDataStorageOutput.

Блоки данных накопителя адресуются последовательно, один-за другим. Однородность данных и произвольный доступ не гарантируются.

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

Пример последовательного доступа к данным.

На рисунке справа показана возможная реализация интерфейса IConsequentDataStorageOutput. Чтение, осуществляемое через интерфейс IConsequentDataStorageInput или IConsequentDataStorage, реализуется с использованием двух разных потоков чтения - is1 и is2 - но ассоциированных с одной и той же реализацией накопителя последовательных данных. Сначала осуществляется чтение с использованием is1, затем - is2, затем - снова is1. Аналогично осуществляется запись - с использованием двух разных потоков записи - os1 и os2. Эти потоки агрегируются той же реализацией, что и потоки чтения. То, к какому блоку данных осуществляется доступ, определяется очередностью чтения и записи.