Array alignment while marshalling data
| Newsgroups | gmane.comp.freedesktop.dbus |
|---|---|
| Message-ID | <CA+DLCvCykLzpJ5ROfmibQVfx=4+fvCRZTGO_y_wYrRat_UV+YA@mail.gmail.com> |
Hello, I am writing an implementation of D-Bus Protocol in Elixir ( https://github.com/mspanc/dbux). I am observing how other implementation marshall messages and I can't understand the pattern according arrays. In the docs it's stated that after array length content should be aligned to the array element's padding. But when I observe method call to Hello, it looks like the following: 6c:01:00:01: header start 00:00:00:00: body length 01:00:00:00: serial *6d:00:00:00:* header fields start: array length 01: header type: 1 01:6f:00: variant signature (object_path) 15:00:00:00: string len 2f:6f:72:67:2f:66:72:65: 65:64:65:73 :6b:74:6f:70: 2f:44:42:75: 73:00:00:00: 03:01:73:00: string and so on the array length is not aligned to 8 bytes, but to 4 bytes. But type of this array is struct, which according to the specification should always align to 8 bytes. What is the rationale behind this? Thanks in advance, Marcin _______________________________________________ dbus mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dbus