[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Golang design session follow-up


Here are the notes from the golang bindings design session at Xen Summit
earlier this month:

  Possible improvements: 
    - Expanding the IDL to have information about device add / remove functions
    Ian: It's important that the IDL generates the C prototypes as well.

    We could generate some man pages as well.
    "AO" functions need to be a separate thing, not just listed as arguments.
    How to distinguish between "easy to wrap" things vs "this is internal 
    Idea: "Classes" in IDL: "Device add/remove function", &c

    Rust: Probably want two versions of the bindings; sync and async. Same 
thing for python.
  # Notification of events

    We don't want a golang wrapper for the sigchld callback

    Helper function to "do the domain shutdown thing"
  # Long-term home of the package
    Ian: Autogenerated stuff is becoming more annoying.

    Delete all the libxl auto-generated stuff from staging & master, and have 
"output branch".

    The reason we have these in-tree is that otherwise you can't build *from 
git* if you don't 
    have new enough versions of the right tools.

    Distribution: Make a repo on xenbits!

Our main focus for "improvements" was on expanding the libxl IDL to support
function prototypes so that wrappers could be easily generated. I
volunteered to work on this front, and have started some patches that I
will send in an RFC state soon (likely after 4.14 is released).

On "notification of events", I think we were just discussing what needs
to be done for the xenlight package to support domain
destruction/reaping. This is also something I will work on.

Finally, we came to the decision that the golang bindings should be
pushed to their own repo and tagged independently of xen.git. I think
tasks still need to be divvied up for this one.

If I missed anything important or made any mistakes, please let me know.




Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.