Home | History | Annotate | Download | only in valid-messages
      1 ## Message with recursive types
      2 
      3 ## VALID_HEADER includes a LENGTH Header and LENGTH Body
      4 VALID_HEADER method_call
      5 
      6 REQUIRED_FIELDS
      7 
      8 ALIGN 8
      9 END_LENGTH Header
     10 START_LENGTH Body
     11 
     12 # Everything is inside a dict
     13 TYPE DICT
     14 LENGTH Dict1
     15 START_LENGTH Dict1
     16 
     17 # first dict entry is an array of array of uint32
     18 STRING 'mega-uint-array'
     19 TYPE ARRAY
     20 TYPE ARRAY
     21 TYPE ARRAY
     22 TYPE UINT32
     23 LENGTH Array1
     24 START_LENGTH Array1
     25 
     26 LENGTH Array1_1
     27 START_LENGTH Array1_1
     28 UINT32_ARRAY { 1, 2, 3, 4, 5}
     29 UINT32_ARRAY { 2, 3, 4, 5, 1}
     30 UINT32_ARRAY { 3, 4, 5, 1, 2}
     31 END_LENGTH Array1_1
     32 
     33 LENGTH Array1_2
     34 START_LENGTH Array1_2
     35 UINT32_ARRAY { 4, 5, 6, 7, 8}
     36 UINT32_ARRAY { 5, 6, 7, 8, 4}
     37 END_LENGTH Array1_2
     38 
     39 END_LENGTH Array1
     40 
     41 # second dict entry is an array of strings
     42 STRING 'string-array'
     43 TYPE ARRAY
     44 TYPE STRING
     45 STRING_ARRAY { 'a', 'string', 'array'}
     46 
     47 # third dict entry is another dict
     48 STRING 'nested-dict'
     49 TYPE DICT
     50 LENGTH Dict2
     51 START_LENGTH Dict2
     52 
     53 STRING 'string'
     54 TYPE STRING
     55 STRING 'a deeply nested string'     
     56 
     57 STRING 'super-nested-dict'
     58 TYPE DICT
     59 LENGTH Dict3
     60 START_LENGTH Dict3
     61 
     62 STRING 'double-array'
     63 TYPE ARRAY
     64 TYPE DOUBLE
     65 DOUBLE_ARRAY {1.0, 2.0, 3.0}
     66 
     67 STRING 'dict-array'
     68 TYPE ARRAY
     69 TYPE DICT
     70 LENGTH Array2
     71 START_LENGTH Array2
     72 
     73 LENGTH Dict4
     74 START_LENGTH Dict4
     75 STRING 'key4'
     76 TYPE BYTE
     77 BYTE '4'
     78 END_LENGTH Dict4
     79 
     80 LENGTH Dict5
     81 START_LENGTH Dict5
     82 STRING 'key5'
     83 TYPE BYTE
     84 BYTE '5'
     85 END_LENGTH Dict5
     86 
     87 END_LENGTH Array2
     88 
     89 STRING 'boolean'
     90 TYPE BOOLEAN
     91 BOOLEAN false
     92 
     93 END_LENGTH Dict3
     94 
     95 END_LENGTH Dict2
     96 
     97 END_LENGTH Dict1
     98 
     99 END_LENGTH Body
    100