On Thu, Oct 27, 2011 at 06:05:44PM +0200, Jiri Denemark wrote: > --- > Notes: > ACKed > > Version 4: > - no changes > > Version 3: > - remoteStartKeepAlive renamed as remoteSetKeepAlive > - clients that implement event loop are required to run it, thus > keepalive is enabled if event loop implementation is found without > the need to call remoteAllowKeepAlive (which was dropped) > - keepalive support is advertised to a server implicitly by asking for > keepalive support between authentication and virConnectOpen > > Version 2: > - no changes > > src/remote/remote_driver.c | 52 +++++++++++++++++++++++++++ > src/rpc/virnetclient.c | 83 +++++++++++++++++++++++++++++++++++++++++-- > src/rpc/virnetclient.h | 5 +++ > 3 files changed, 136 insertions(+), 4 deletions(-)
ACK > @@ -663,6 +665,26 @@ doRemoteOpen (virConnectPtr conn, > if (remoteAuthenticate(conn, priv, auth, authtype) == -1) > goto failed; > > + if (virNetClientKeepAliveIsSupported(priv->client)) { > + remote_supports_feature_args args = > + { VIR_DRV_FEATURE_PROGRAM_KEEPALIVE }; > + remote_supports_feature_ret ret = { 0 }; > + int rc; > + > + rc = call(conn, priv, 0, REMOTE_PROC_SUPPORTS_FEATURE, > + (xdrproc_t)xdr_remote_supports_feature_args, (char *) > &args, > + (xdrproc_t)xdr_remote_supports_feature_ret, (char *) &ret); > + if (rc == -1) > + goto failed; > + > + if (ret.supported) { > + priv->serverKeepAlive = true; > + } else { > + VIR_WARN("Disabling keepalive protocol since it is not supported" > + " by the server"); Hmm, won't this cause new clients to always issue a warning when talking to old servers ? Can probably be dropped to VIR_INFO ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list