Как правильно кодировать AMF0 StrictArray

После просмотра спецификации AMF0 я обнаружил, что не могу правильно понять для кодирования типа StrictArray.

Вот самый непосредственный раздел спецификации:

количество массивов = U32

строгий тип массива = количество массивов * (тип значения)

который описывает тип StrictArray с синтаксисом расширенной формы Бэкуса-Наура (ABNF) (см. RFC2234). )

Имеет ли тип StrictArray порядковые индексы или просто закодированные объекты (без порядковых ключей) в порядке их появления в графе объектов StrictArray?

Кроме того, в качестве дополнительного вопроса, содержит ли таблица сериализации (из которой генерируются идентификаторы ссылок на объекты) все объекты в графе объектов или только объекты, которые потенциально могут быть закодированы с помощью ссылки (ECMAArray, StrictArray, TypedObject, AnonymousObject)?


person Emily Mabrey    schedule 03.06.2013    source источник


Ответы (1)


См. https://github.com/silexlabs/amfphp-2.0/blob/master/Amfphp/Core/Amf/Serializer.php строки с 329 по 336. вы пишете количество объектов, затем каждый объект.

дополнительный вопрос: тот же код, ищите Amf0StoredObjects. Идентификаторы ссылок предназначены только для объектов, на которые можно ссылаться. Однако они различаются для AMF0 и AMF3.

person Ariel Sommeria-Klein    schedule 04.06.2013