Статус документа
Статус документа

ГОСТ Р 34.1980.4-93 (ИСО 8571/4-88) Информационная технология (ИТ). Взаимосвязь открытых систем. Передача, доступ и управление файлом. Часть 4. Спецификация файловых протоколов

     8.9 Открытие файла (чтение, запись)

8.9.1 Получив от пользователя внутренней файловой услуги сервисный примитив запроса F-OPEN и находясь в состоянии "Выбрано", логический объект должен:

а) добавить БДП "F-OPEN запрос БДП" в качестве значения данных к текущему БДУУП;

б) если функциональный блок "Административное управление контекстом уровня представления" был предварительно успешно согласован и если инициирующий логический объект желает иметь какие-либо абстрактные синтаксисы, обеспечиваемые контекстами уровня представления, в определенном наборе контекстов, удаленных на основе соглашений локальной системы или административного управления сетью при успешном установлении режима "Открытие файла" (см. 9.9.4), то послать имена соответствующих абстрактных синтаксисов в параметре "Удаленные контексты" БДП "F-OPEN запрос БДП";

в) если функциональный блок "Административное управление контекстом уровня представления" был предварительно успешно согласован и если инициирующий логический объект желает иметь какие-либо контексты уровня представления для любых абстрактных синтаксисов, добавленных к определенному набору контекстов на основе соглашений локальной системы или системы административного управления сетью при успешном установлении режима "Открытие файла" (см. 9.9.4), то послать имена соответствующих абстрактных синтаксисов в параметре "Определенные контексты" БДП "F-OPEN запрос БДП";

г) завершить текущий БДУУП;

д) перейти в состояние "Ожидание примитива OPEN".

8.9.2 Получив от пользователя внутренней файловой услуги сервисный примитив запроса F-OPEN и находясь в состоянии "Группирование" с последним элементом списка ожидаемых ответов, имеющим одно из значений "F-SELECT ответ", "F-CREATE ответ", "F-READ-ATTRIB ответ" или "F-CHANGE-ATTRIB ответ", логический объект должен:

а) добавить БДП "F-OPEN запрос БДП" в качестве значения данных к текущему БДУУП;

б) добавить элемент со значением "F-OPEN ответ" к концу списка ожидаемых ответов.

8.9.3 Получив БДП "F-OPEN ответ БДП" с согласуемыми параметрами, имеющими возвращенные значения, совместимые с требуемыми значениями, в соответствии с правилами для согласования, данными в ГОСТ Р 34.1980.3, и, находясь в состоянии "Ожидание примитива OPEN", логический объект должен:

а) если посланный БДП содержал параметр "Результат состояния", означающий "Сбой", послать пользователю внутренней файловой услуги сервисный примитив подтверждения F-OPEN и перейти в состояние "Выбрано";

б) если значением параметра "Действие уровня представления" является "Истина", установить индикатор "Р-изменение";

в) если индикатор "Р-изменение" не установлен, послать пользователю внутренней файловой услуги примитив подтверждения F-OPEN с параметрами, взятыми из полученных значений данных, и перейти в состояние "Ожидание передачи данных";

г) если индикатор "Р-изменение" установлен, сохранить БДП для дальнейшей обработки и перейти в состояние "Ожидание контекста Р-изменение".

Способ обработки должен предполагать только те действия, которые разрешены успешно согласованными функциональными блоками и параметром "Требуемый доступ" при инициализации файлохранилища.

Управление параллельностью выполнения действий должно быть ограничено, по меньшей мере, теми значениями, которые были успешно согласованы при установлении режима "Выбор файла" (см. ГОСТ Р 34.1980.3).

8.9.4 Получив БДП "F-OPEN ответ БДП" и находясь в состоянии "Группирование" с первым элементом списка ожидаемых ответов, имеющим значение "F-OPEN ответ", и с возвращаемыми параметрами, совместимыми с параметрами, описанными в 8.9.3, логический объект должен:

а) установить индикатор "Р-изменение", если посланный БДП не содержал параметр "Результат состояния", означающий "Сбой", и если значением параметра "Действие уровня представления" является "Истина";

б) послать пользователю внутренней файловой услуги примитив подтверждения F-OPEN с параметрами, взятыми из полученных значений данных, если индикатор "Р-изменение" не установлен;

в) установить значение индикатора "Следующее состояние" в значение "Ожидание передачи данных", если блок данных протокола не содержит параметр "Результат состояния", указывающий "Сбой";

г) сохранить БДП для дальнейшей обработки, если индикатор" "Р-изменение" установлен;

д) удалить первый элемент списка ожидаемых ответов.

8.9.5 Получив от поставщика услуг уровня представления примитив индикации P-ALTER-CONTEXT и находясь в состоянии "Ожидание примитива P-ALTER-CONTEXT" и при установленном индикаторе "Р-изменение", логический объект должен:

а) сформировать список результата добавления определений контекстов уровня представления, указывающий, какие из предполагаемых контекстов уровня представления могут быть обеспечены;

б) сформировать список результата удаления контекстов уровня представления, указывающий, какие из предполагаемых контекстов уровня представления должны быть удалены;

в) послать примитив P-ALTER-CONTEXT, используя оба списка, сформированных по описанию, представленному в 8.9.5,а; 8.9.5,б;

г) "сбросить" индикатор "Р-изменение";

д) если БДП "F-OPEN ответ БДП" был сохранен, то послать пользователю внутренней файловой услуги сервисный примитив подтверждения F-OPEN.