19.1.1 Посылка сервисных примитивов
Для каждого примитива запроса или ответа, полученного от пользователя внешней файловой услуги, логический объект восстановления при ошибках должен послать поставщику внутренней файловой услуги сервисный примитив того же типа, включая параметры, идентичные полученным. Это может прибавить параметры к протоколу контроля ошибок.
Для каждого примитива индикации или подтверждения, полученного от поставщика внутренней файловой услуги, который:
не имеет отношения к восстановлению при ошибках (F-INITIALIZE, F-TERMINATE, F-SELECT, F-CREATE, F-DELETE, F-OPEN, F-LOCATE, F-ERASE, F-READ, F-WRITE или элемент примитива F-DESELECT, F-CLOSE, содержащие параметр "Результат действия", указывающий кратковременную ошибку) или
содержит параметр "Результат действия", указывающий постоянную ошибку - логический объект восстановления при ошибках, который не занят в процедуре восстановления при ошибках, должен послать пользователю внешней файловой услуги сервисный примитив того же типа, включая параметры, идентичные полученным. Сервисные примитивы F-INITIALIZE и F-OPEN могут содержать параметры, относящиеся к протоколу контроля ошибок, которые не доступны пользователю внешней файловой услуги.
Любой сервисный примитив, полученный от механизма файлового протокола, с параметром "Результат действия", указывающим кратковременную ошибку, начинает процедуру восстановления при ошибках в механизме протокола восстановления файла при ошибках.
Логический объект восстановления при ошибках, который определяется, должен участвовать в процедуре восстановления при ошибках с момента обнаружения ошибки до момента, пока он не согласует точку восстановления и вторично не пошлет любые ранее обработанные данные вслед за точкой восстановления.
19.1.2 Качество согласования услуги службы ПДУФ (FTAM)
19.1.2.1 Роли инициирующих модулей протокола восстановления файла при ошибках
19.1.2.1.1 Запросы
Получив от пользователя внешней файловой услуги сервисный примитив запроса F-INITIALIZE, логический объект должен:
а) проверить параметр "Качество услуги службы ПДУФ" и оценить его на основе его значения, значения локальной системы и своих возможностей;
б) определить, какой из функциональных блоков - "Рестарт" или "Восстановление при ошибках" - требуется для предоставления такого качества услуги службы ПДУФ, которое ближе всего подходит к требуемому качеству услуги службы ПДУФ;
в) добавить эти результирующие функциональные блоки к параметру "Функциональные блоки".
19.1.2.1.2 Ответы
Получив от модуля файлового протокола сервисный примитив подтверждения F-INITIALIZE, логический объект должен:
а) записать возвращенное качество услуги службы ПДУФ;
б) записать согласованные функциональные блоки;
в) удалить значения "Рестарт" и "Восстановление при ошибках" из параметра "Функциональные блоки", если они присутствуют;
г) послать пользователю внешней файловой услуги сервисный примитив подтверждения F-INITIALIZE с параметром "Качество услуги службы ПДУФ" в качестве модифицированного, с параметром "Функциональные блоки" в качестве модифицированного и со всеми другими неизменными параметрами.
19.1.2.2 Роли отвечающих модулей протокола восстановления файла при ошибках
19.1.2.2.1 Индикации
Получив от механизма файлового протокола сервисный примитив индикации F-INITIALIZE, логический объект должен:
а) проверить параметр "Качество услуги службы ПДУФ" и оценить его возможную модификацию на основе его значения, значения локальной системы и своих возможностей;
б) определить и удалить те требуемые функциональные блоки, которые не могут быть предложены;
в) записать, если требуются и если они доступны, оба функциональных блока "Рестарт" и "Восстановление при ошибках";
г) удалить функциональные блоки "Рестарт" и (или) "Восстановление при ошибках" из параметра "Функциональные блоки", если они присутствуют;
д) послать пользователю внешней файловой услуги сервисный примитив индикации F-INITIALIZE без функциональных блоков "Рестарт" или "Восстановление при ошибках".