ГОСТ Р 54708—2011
Длина TAG: длина секции TAG значение в битах (это касается каждого TAG пакета).
Идентификатор команды: указывает на индивидуальную команду; может быть закодирован как 4 “удобочита-
емых” символа ASCII или как двоичное число; величины определены при использовании этой DCP структуры для
двунаправленной связи.
Ссылка транзакции: номер ссылки, выбранный в качестве инициатора транзакции с новой командой запроса
(например, случайное число), и используемый в любой последующей команде ответа, чтобы идентифицировать
индивидуальную транзакцию (поток коммуникации); никакие два сообщения запросов, передаваемые между од-
ним “клиентом” и одним “сервером”, не должны, насколько возможно, использовать ту же самую комбинацию зна-
чения ID команды и значения ссылки транзакции; приложение должно определить минимальный интервал перед
повторным использованием ссылок транзакции.
Поле флага типа ответа:
- для сообщений запроса указывает, какой тип ответов отправитель конкретного сообщения запроса желает
получать; один или несколько флагов могут быть разрешены (установлены в “1”);
- для сообщений ответа указывает, какие типы ранее затребованных ответов обработаны в пределах теку-
щего сообщения ответа; каждый ответ может быть послан как индивидуальное сообщение ответа или несколько
ответов могут содержаться в том же самом сообщении ответа; флаги, неизвестные получателю пакета, должны
быть обработаны как “0” (и таким образом проигнорированы); подробнее — см. Е.2.3.
Данные команды:
- опционально — например, поле данных или полный TAG пакет;
- наличие, расположение и информационное содержание зависят от примененной спецификации и от инди-
видуального идентификатора команды;
- если представлены, могут нести подробную информацию, требуемую, например, для выборки или под-
писки на сообщения;
- если же форматированы как полный TAG пакет, могут всегда нести заранее известные TAG элементы,
определенные в Е.2.4.
П р и м еч а н и е — Нет никакого ограничения на число сообщений запроса или ответа, которые переносят-
ся в одном DCP пакете.
Е.2.2 Типы транзакций
Следующие типы транзакций определены для использования в пределах DCP структуры для двунаправлен-
ной связи.
Е.2.2.1 Транзакция передачи (запрос “*tsq”, ответ “*tss”)
“Клиент” запрашивает информацию от “сервера” (сообщение запроса) (рисунок Е.2). Произвольно одно или
более сообщений ответа могут быть потребованы.
Рисунок Е.2 — Транзакция передачи
Е.2.2.2 Транзакция выборки (запрос “*tfq”, ответ “*tfs”)
“Клиент” запрашивает информацию от “сервера” (сообщение запроса) (рисунок Е.3). По крайней мере, одно
сообщение ответа, содержащее требуемую информацию, отсылается назад.
Рисунок Е.3 — Транзакция выборки
26
Е.2.2.3 Транзакция подписки/отказа от подписки (запрос “*tuq”/“*tnq”, ответ “*tus”/“*tns”). Транзакция доставки
(запрос “*tdq”, ответ “*tds”)
“Клиент” подписывается на, вероятно, не оперативную информацию, предлагаемую “сервером” (транзакция
подписки) (рисунок Е.4). “Сервер” передает информацию “клиенту” всякий раз, когда (новые) данные становятся