ГОСТ Р ИСО/МЭК 8825-3—2016
кодера, вызванными с помощью «field-tobe-set» или «flag-to-be-set». Эта спецификация будет также
содержать признак кодирования, который указывает, как декодер должен определять наличие или от
сутствие факультативного компонента по значению этого поля. Кодер, соответствующий техническим
требованиям, должен гарантировать, что значение этого поля правильно указывает наличие или от
сутствие факультативного поля.
21.5.6 Значение «container» требует либо спецификацию REFERENCE для другого поля, у кото
рого класс кодирования (контейнер) имеет определитель длины, а содержимое включает в себя этот
факультативный компонент, либо спецификацию того, что контейнер является концом PDU (с помощью
OUTER). Если конец контейнера появился тогда, когда декодер ищет начало этого факультативного
компонента, то декодер будет считать, что этот факультативный компонент отсутствует.
П р и м е ч а н и е — Эта спецификация может использоваться только в случае, когда кодируемые абстракт
ные значения таковы, что никакие другие кодирования не должны помещаться в контейнер. Это может потребо
вать ограничений, налагаемых на абстрактные значения типа АСН.1. например, запрета на введение позднего
факультативного компонента, пока не имеются все ранние факультативные компоненты. Спецификация ECN или
применение будут ошибочными, когда в контейнер должны быть помещены дополнительные кодирования после
компонента, факультативные возможности которого определены этим способом; кодер, соответствующий требова
ниям. не должен генерировать такие кодирования.
21.5.7 Значение «handle» требует, чтобы был указан идентификационный описатель. Этот иден
тификационный описатель должен выдаваться и объектом кодирования для факультативного компо
нента. и объектом кодирования, применяемым к любому возможному альтернативному классу коди
рования. который может следовать, если факультативный компонент отсутствует. Любой возможный
альтернативный класс кодирования может быть компонентом конкатенации, содержащей факультатив
ный компонент, или может быть классом кодирования, следующим за конкатенацией. Наборы значений
описателей, указанные всеми участвующими объектами кодирования (показывающими один и тот же
идентификационный описатель), должны быть непересекающимися.
П р и м е ч а н и е — Каждое абстрактное значение данного компонента требуется для того, чтобы значение
описателя соответствовало заданному набору значений описателя (см. 22.9.2.2).
21.5.8 Если конец любого открытого контейнера (или конец PDU) был обнаружен, когда декодер
пытается обнаружить присутствие или отсутствие факультативного компонента, то декодер должен
определить, что факультативный компонент отсутствует. В противном случае декодер должен опреде
лить, что компонент присутствует, если, и только если, декодирование оставшихся частей кодирования
даст значение указанного идентификационного описателя, которое соответствует набору значений опи
сателя факультативного компонента. Спецификация ECN будет ошибочной, если это будет не резуль
татом правильной идентификации наличия или отсутствия кодирования факультативного компонента;
кодеры, соответствующие техническим требованиям, но должны генерировать такие кодирования.
21.5.9 Значение «pointer» требует для другого поля спецификацию REFERENCE о начале коди
рования. Если данное поле является нулем, то этот компонент отсутствует. Если оно не является нулем, то
применяются правила для указателя начала кодирования (см. 22.3).
21.6 Тип AlternativoDetermination
21.6.1 Продукцией типа «AltornativeDetermination» является;
AlternativoDetermination ::=
ENUMERATED {field-to-be-set, fleld-to-be-used, handle}
21.6.2 Безусловным значением (по умолчанию) для этого типа всегда является «fleld-to-be-set».
21.6.3 Признак кодирования этого типа указывает способ, которым декодер определяет, какая
альтернатива присутствует в кодировании класса категории «альтернативы».
21.6.4 Значение «field-to-be-set» требует спецификацию REFERENCE для поля, которое будет
устанавливаться кодером для переноса информации, указывающей альтернативу, и использоваться
декодером. Эта спецификация будет также содержать признак кодирования, который указывает, как
кодер должен устанавливать значение этого поля со смысловым целочисленным значением, которое
указывает каждую альтернативу (используя порядок следования, указанный в других признаках кодиро
вания). Если поле устанавливается более одного раза с помощью «field-to-beset» или «flag-to-be-set»
73