On Fri, 2007-11-30 at 16:21 +0200, Nedko Arnaudov wrote:
Krzysztof Foltman <wdev(a)foltman.com> writes:
> Lars Luthman wrote:
>
>> non-standard hacks in a specification. But with the current event header
>> proposal we don't have a pointer _or_ a flexible array member in it, so
>> this discussion is sort of pointless.
>
> So, basically, we have a choice between:
>
> struct LV2_EVENT_HEADER_LLKF
> {
> uint32_t timestamp; // 16:16
> uint16_t payload_size;
> uint16_t event_type;
> };
Might as well break the time stamp into two separate uint16_t's and make
life easy.
struct
LV2_EVENT_TYPE_X
{
LV2_EVENT_HEADER_LLKF hdr;
// type X-specific data here (be it a pointer, or in-place data, or
whatever)
// size must be an integer multiple of 8 bytes
};
and different variants of:
struct LV2_EVENT_HEADER_DR
{
float_or_double timestamp;
some_int_type2 payload_size;
some_int_type event_type;
// pointer to data or inline data array here
};
which - I believe - Dave seems to favour.
I like header variant (no payload specified directly) with (8 byte)
alignment. It is better than specifying N byte payload as array. Also it
is both C and C++ friendly.
Please, please let this silly 'type of the data member' angle of
conversation die... :)
Hereby humbly requesting that:
// data follows here
be the last thing in the event struct for the purposes of this
conversation, since it's irrelevant and not a point of debate
-DR-