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

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

     19.2 Восстановление при ошибках


В 19.2.1-19.2.3 определены процедуры восстановления при ошибках.

Эти процедуры представлены на рисунках 4-6.


Рисунок 4 - Процедура для ошибок 1-го класса

     

     


Рисунок 5 - Процедура для ошибок 2-го класса

Примечание - На рисунке 5 предполагается, что используется группирование примитивов F-CLOSE и F-DESELECT. Это всегда будет в случае услуги класса "Передача файла".

          
Рисунок 6 - Процедура для ошибок 3-го класса



19.2.1 Ошибки 1-го класса

19.2.1.1 Если логический объект восстановления при ошибках обнаруживает ошибку 1-го класса (см. 18.1), он должен послать поставщику внутренней файловой услуги сервисный примитив запроса F-RESTART.

19.2.1.2 Если логический объект восстановления при ошибках обнаруживает ошибку 1-го класса (см. 18.1) и функциональные блоки "Ресинхронизация" уровня представления и "Рестарт" были предварительно успешно согласованы, то он должен послать поставщику внутренней файловой услуги сервисный примитив запроса F-RESTART. Если функциональный блок "Рестарт" не доступен, а функциональный блок "Восстановление при ошибках" доступен, то указанный логический объект должен выполнить процедуры восстановления при ошибках, описанные в 19.2.2.1. Если логический объект является принимающим логическим объектом, то сервисный примитив запроса F-RESTART должен включать в себя точку восстановления, которая является идентификатором контрольной точки, так что:

а) идентификатор указывает рестарт активности с самого начала, если промежуточный рестарт невозможен;

б) в противном случае идентификатор является самой последней контрольной точкой из списка в доките.

Примечание - Номера точек синхронизации сеансового уровня связаны с идентификаторами контрольной точки через смещение синхронизации (см. раздел 3).

19.2.1.3 Если логический объект является посылающим логическим объектом, он не должен включать параметр "Точка восстановления" в примитив запроса F-RESTART.

19.2.1.4 Если посылающий логический объект восстановления при ошибках получает примитив индикации F-RESTART, он должен послать примитив ответа F-RESTART и повторить передачу данных с контрольной точки, указанной в примитиве индикации F-RESTART.

Примечание - В этом случае не следует ожидать примитива ответа, если был послан примитив запроса F-RESTART.

19.2.1.5 Если посылающий логический объект восстановления при ошибках получает примитив подтверждения F-RESTART, он должен повторить передачу данных с точки восстановления, указанной в примитиве подтверждения F-RESTART.

19.2.1.6 Если принимающий логический объект восстановления при ошибках получает примитив индикации F-RESTART и если он ранее посылал примитив запроса F-RESTART, который остается неподтвержденным, он должен послать примитив ответа F-RESTART, указывая точку восстановления, как это отмечено в 19.2.1.2.

19.2.1.7 Если принимающий логический объект восстановления при ошибках получает примитив индикации F-RESTART после посылки примитива запроса F-RESTART и до получения примитива подтверждения F-RESTART, он должен "сбросить" этот примитив.

19.2.1.8 Если функциональный блок "Рестарт" не доступен, тогда ошибки 1-го класса должны быть обработаны как ошибки 2 класса.

19.2.2 Ошибки 2-го класса