Hi

On Wed, Apr 15, 2020 at 3:03 AM Adalbert Lazăr <ala...@bitdefender.com> wrote:
>
> This is used by the VM introspection object to check if the connection
> will be reestablished in case it disconnects from some reason.
>
> The closing of the socket is used by any of the three parties involved,
> KVM, the introspection tool and QEMU (eg. on force-reset), to signal
> the other parties that the session is over. As such, it is very important
> that the socket will reconnect.
>
> CC: "Marc-André Lureau" <marcandre.lur...@redhat.com>
> CC: Paolo Bonzini <pbonz...@redhat.com>
> Signed-off-by: Adalbert Lazăr <ala...@bitdefender.com>
> ---
>  chardev/char-socket.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/chardev/char-socket.c b/chardev/char-socket.c
> index fd0106ab85..22ab242748 100644
> --- a/chardev/char-socket.c
> +++ b/chardev/char-socket.c
> @@ -1492,6 +1492,13 @@ char_socket_get_connected(Object *obj, Error **errp)
>      return s->state == TCP_CHARDEV_STATE_CONNECTED;
>  }
>
> +static bool char_socket_get_reconnecting(Object *obj, Error **errp)
> +{
> +    SocketChardev *s = SOCKET_CHARDEV(obj);
> +
> +    return s->reconnect_time > 0;
> +}
> +
>  static int tcp_chr_reconnect_time(Chardev *chr, int secs)
>  {
>      SocketChardev *s = SOCKET_CHARDEV(chr);
> @@ -1528,6 +1535,10 @@ static void char_socket_class_init(ObjectClass *oc, 
> void *data)
>
>      object_class_property_add_bool(oc, "connected", 
> char_socket_get_connected,
>                                     NULL, &error_abort);
> +
> +    object_class_property_add_bool(oc, "reconnecting",
> +                                   char_socket_get_reconnecting,
> +                                   NULL, &error_abort);

That may be misleading, as the socket connection may be established
and this will return true if reconnect_time > 0. Why not have a
"reconnect-time" property instead?

>  }
>
>  static const TypeInfo char_socket_type_info = {
>


-- 
Marc-André Lureau

Reply via email to