|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 02/15] libxl_qmp: Connect to QMP socket
Anthony PERARD writes ("[PATCH v5 02/15] libxl_qmp: Connect to QMP socket"):
> This is a first patch to implement libxl__ev_qmp, it only connects to
> the QMP socket of QEMU and registers a fd callback that does nothing.
...
> +typedef enum {
> + /* initial state */
> + qmp_state_disconnected = 1,
> + /* connected to QMP socket, waiting for greeting message */
> + qmp_state_connecting,
> + /* greeting message received */
> + qmp_state_greeting,
> + /* qmp_capabilities command sent, waiting for reply */
> + qmp_state_capability_negotiation,
> + /* ready to send commands */
> + qmp_state_connected,
> +} libxl__qmp_state;
IWBN to relate these private states to the outward-facing API states
like `Connected'.
I often write a table of legal field values - see for example,
libxl_exec.c near l.241 and libxl_stream_read.c near l.35. But maybe
this is not complicated enough to need that.
> +static int qmp_ev_connect(libxl__gc *gc, libxl__ev_qmp *ev)
> +{
...
> + r = connect(libxl__carefd_fd(ev->qmp_cfd),
> + (struct sockaddr *) &un, sizeof(un));
Up to here:
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
But:
> +int libxl__ev_qmp_send(libxl__gc *gc, libxl__ev_qmp *ev,
> + const char *cmd, libxl__json_object *args)
> +{
> + LOGD(DEBUG, ev->domid, " ev %p, cmd '%s'", ev, cmd);
> +
> + /* Connect to QEMU if not already connected */
> + return qmp_ev_connect(gc, ev);
> +}
I think it would be nicer to read a complete implementation of this
function. Right now it's obviously wrong and impossible to review.
So please postpone this hunk.
Thanks,
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |