1 [dist4]message_header // num_bytes 2 [u4]2 // num_fields 3 [u4]2 // name 4 [u4]0 // flags 5 [anchr]message_header 6 7 [dist4]method2_params // num_bytes 8 [u4]2 // num_fields 9 [dist8]param0_ptr // param0 10 [dist8]param1_ptr // param1 11 [anchr]method2_params 12 13 [anchr]param0_ptr 14 [dist4]struct_b // num_bytes 15 [u4]1 // num_fields 16 [dist8]struct_a_ptr // struct_a 17 [anchr]struct_b 18 19 [u8]0 // Having extra bytes in the middle is okay if the following objects are 20 // still properly alignmented. 21 22 [anchr]struct_a_ptr 23 [dist4]struct_a_member // num_bytes 24 [u4]1 // num_fields 25 [u8]12345 // i 26 [anchr]struct_a_member 27 28 [anchr]param1_ptr 29 [dist4]struct_a_param // num_bytes 30 [u4]1 // num_fields 31 [u8]67890 // i 32 [anchr]struct_a_param 33