| ## Message with recursive types |
| |
| ## VALID_HEADER includes a LENGTH Header and LENGTH Body |
| VALID_HEADER method_call |
| |
| REQUIRED_FIELDS |
| |
| ALIGN 8 |
| END_LENGTH Header |
| START_LENGTH Body |
| |
| # Everything is inside a dict |
| TYPE DICT |
| LENGTH Dict1 |
| START_LENGTH Dict1 |
| |
| # first dict entry is an array of array of uint32 |
| STRING 'mega-uint-array' |
| TYPE ARRAY |
| TYPE ARRAY |
| TYPE ARRAY |
| TYPE UINT32 |
| LENGTH Array1 |
| START_LENGTH Array1 |
| |
| LENGTH Array1_1 |
| START_LENGTH Array1_1 |
| UINT32_ARRAY { 1, 2, 3, 4, 5} |
| UINT32_ARRAY { 2, 3, 4, 5, 1} |
| UINT32_ARRAY { 3, 4, 5, 1, 2} |
| END_LENGTH Array1_1 |
| |
| LENGTH Array1_2 |
| START_LENGTH Array1_2 |
| UINT32_ARRAY { 4, 5, 6, 7, 8} |
| UINT32_ARRAY { 5, 6, 7, 8, 4} |
| END_LENGTH Array1_2 |
| |
| END_LENGTH Array1 |
| |
| # second dict entry is an array of strings |
| STRING 'string-array' |
| TYPE ARRAY |
| TYPE STRING |
| STRING_ARRAY { 'a', 'string', 'array'} |
| |
| # third dict entry is another dict |
| STRING 'nested-dict' |
| TYPE DICT |
| LENGTH Dict2 |
| START_LENGTH Dict2 |
| |
| STRING 'string' |
| TYPE STRING |
| STRING 'a deeply nested string' |
| |
| STRING 'super-nested-dict' |
| TYPE DICT |
| LENGTH Dict3 |
| START_LENGTH Dict3 |
| |
| STRING 'double-array' |
| TYPE ARRAY |
| TYPE DOUBLE |
| DOUBLE_ARRAY {1.0, 2.0, 3.0} |
| |
| STRING 'dict-array' |
| TYPE ARRAY |
| TYPE DICT |
| LENGTH Array2 |
| START_LENGTH Array2 |
| |
| LENGTH Dict4 |
| START_LENGTH Dict4 |
| STRING 'key4' |
| TYPE BYTE |
| BYTE '4' |
| END_LENGTH Dict4 |
| |
| LENGTH Dict5 |
| START_LENGTH Dict5 |
| STRING 'key5' |
| TYPE BYTE |
| BYTE '5' |
| END_LENGTH Dict5 |
| |
| END_LENGTH Array2 |
| |
| STRING 'boolean' |
| TYPE BOOLEAN |
| BOOLEAN false |
| |
| END_LENGTH Dict3 |
| |
| END_LENGTH Dict2 |
| |
| END_LENGTH Dict1 |
| |
| END_LENGTH Body |