|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 05/24] golang/xenlight: define KeyValueList builtin type
> On Oct 24, 2019, at 8:54 PM, Nick Rosbrook <rosbrookn@xxxxxxxxx> wrote:
>
>> So we *could* actually just `type KeyValueList struct { }`, and punt on
>> all these initialization questions until such time as it turns out that
>> they're needed.
>
> If there is no clear need for this type to be implemented in the Go
> package, then I would be in favor of not doing so. IMO, a smaller,
> more focused package is ideal.
Ok, in that case let’s just leave the struct empty.
>
>> On the other hand, I think we may need to actually think about
>> initializing structures. You've carefully coded DefBool such that the
>> "zero" value is undefined; but for DevId, for instance, the "initial"
>> value is supposed to be -1; but the way it's coded, an uninitialized Go
>> structure will end up as 0, which may be a valid devid.
>>
>> [...]
>>
>> Anyway, perhaps we can think about structure initialization, and
>> implement it after we do the basic structure / marshalling implementaiton.
>
> That's probably best. However, at a quick glance it seems like it
> would be pretty straight-forward to generate NewStructType functions
> analogous to libxl_struct_type_init, if that's the desired behavior.
I think we basically have three options:
1. Try to arrange it so that the “zero” values correspond to “default” values
in libxl; i.e., have DevID 0 -> libxl_devid -1, DevID 1 -> libxl_devid 0, &c
2. Add NewStructType functions
3. Add .Init() methods to structs
#1 I think is probably too risky; so 2 or 3 (or maybe both) will probably be
needed. The NewStructType() seems to be more standard. But I’m open so
suggestions. :-)
-George
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |