| [dist4]message_header // num_bytes |
| [u4]0 // version |
| [u4]0 // interface ID |
| [u4]2 // name |
| [u4]0 // flags |
| [u4]0 // padding |
| [anchr]message_header |
| |
| [dist4]method2_params // num_bytes |
| [u4]0 // version |
| [dist8]param0_ptr // param0 |
| [dist8]param1_ptr // param1 |
| [anchr]method2_params |
| |
| [anchr]param0_ptr |
| [dist4]struct_b // num_bytes |
| [u4]0 // version |
| [dist8]struct_a_ptr // struct_a |
| [anchr]struct_b |
| |
| [u8]0 // Having extra bytes in the middle is okay if the following objects are |
| // still properly alignmented. |
| |
| [anchr]struct_a_ptr |
| [dist4]struct_a_member // num_bytes |
| [u4]0 // version |
| [u8]12345 // i |
| [anchr]struct_a_member |
| |
| [anchr]param1_ptr |
| [dist4]struct_a_param // num_bytes |
| [u4]0 // version |
| [u8]67890 // i |
| [anchr]struct_a_param |