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

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

     17.3 Рестарт (передача данных при рестарте)

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

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

б) установить счетчик несогласованных контрольных точек в нулевое значение;

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

17.3.2 Получив сервисный примитив индикации P-RESYNCHRONIZE (рестарт) с параметром "Данные пользователя", содержащим БДП "F-CANCEL запрос БДП", и находясь в состоянии "Передача данных большого объема для чтения" или "Передача данных большого объема для записи", логический объект должен:

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

б) послать пользователю внутренней файловой услуги сервисный примитив индикации F-RESTART. Идентификатор контрольной точки должен быть равен значению, полученному в БДП;

в) установить счетчик несогласованных контрольных точек в нулевое значение;

г) перейти в состояние "Ожидание примитива ответа F-RESTART".

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

а) послать сервисный примитив ответа P-RESYNCHRONISE (рестарт) с параметром "Данные пользователя", содержащим БДП "F-RESTART ответ БДП", включая идентификатор контрольной точки, равный идентификатору контрольной точки в сервисном примитиве F-RESTART;

б) установить идентификатор контрольной точки равным полученному идентификатору контрольной точки плюс единица;

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

г) установить смещение синхронизации в значение номера следующей точки синхронизации минус идентификатор ожидаемой контрольной точки;

д) перейти в состояние "Передача данных большого объема для чтения" или "Передача данных большого объема для записи" в зависимости от значения индикатора "Чтение/Запись".

17.3.4 Получив сервисный примитив подтверждения P-RESYNCHRONIZE (рестарт) с параметром "Данные пользователя", содержащим блок данных пользователя "F-RESTART ответ БДП", логический объект должен:

а) "сбросить" индикатор "Сброс";

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

в) установить идентификатор контрольной точки равным полученному идентификатору контрольной точки плюс единица;

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

д) установить смещение синхронизации в значение номера следующей точки синхронизации минус идентификатор ожидаемой контрольной точки;

е) перейти в состояние "Передача данных большого объема для чтения" или "Передача данных большого объема для записи" в зависимости от значения индикатора "Чтение/Запись".

17.3.5 Получив сервисный примитив индикации P-RESYNCHRONIZE (рестарт) с параметром "Данные пользователя", содержащим БДП "F-RESTART запрос БДП", и находясь в состоянии "Ожидание примитива ответа RESTART", логический объект должен:

а) "сбросить" индикатор "Сброс";

б) послать пользователю внутренней файловой услуги сервисный примитив подтверждения F-RESTART. Если логический объект является посылающим логическим объектом, идентификатор контрольной точки должен быть равен значению, полученному в БДП. Если логический объект является принимающим логическим объектом, это значение должно быть равно значению, ранее переданному в БДП "F-RESTART запрос БДП";

в) послать поставщику услуг уровня представления сервисный примитив ответа P-RESYNCHRONISE (рестарт) с параметром "Данные пользователя", содержащим БДП "F-RESTART ответ БДП", включая идентификатор контрольной точки, равный значению, определенному в 17.3.5,а;

г) установить идентификатор контрольной точки равным полученному идентификатору контрольной точки плюс единица;

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