[Spice-devel] [PATCH spice-server v2 02/12] red-channel-client: Move incoming/ougoing initialization to constructor
Jonathon Jongsma
jjongsma at redhat.com
Wed Nov 2 15:45:01 UTC 2016
Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
On Tue, 2016-11-01 at 11:07 +0000, Frediano Ziglio wrote:
> These fields need just channel to be set to be initialized.
> Move their initialization to constructor to make sure
> they are initialized as soon as possible.
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> server/dummy-channel-client.c | 2 --
> server/red-channel-client.c | 18 +++++++++---------
> 2 files changed, 9 insertions(+), 11 deletions(-)
>
> diff --git a/server/dummy-channel-client.c b/server/dummy-channel-
> client.c
> index b7fee6f..a242d51 100644
> --- a/server/dummy-channel-client.c
> +++ b/server/dummy-channel-client.c
> @@ -70,8 +70,6 @@ static gboolean
> dummy_channel_client_initable_init(GInitable *initable,
> goto cleanup;
> }
>
> - rcc->incoming.header.data = rcc->incoming.header_buf;
> -
> red_channel_add_client(channel, rcc);
> red_client_add_channel(client, rcc);
>
> diff --git a/server/red-channel-client.c b/server/red-channel-
> client.c
> index 3b2c24c..6c78237 100644
> --- a/server/red-channel-client.c
> +++ b/server/red-channel-client.c
> @@ -269,6 +269,14 @@ static void
> red_channel_client_constructed(GObject *object)
> {
> RedChannelClient *self = RED_CHANNEL_CLIENT(object);
>
> + self->incoming.opaque = self;
> + self->incoming.cb = red_channel_get_incoming_handler(self->priv-
> >channel);
> +
> + self->priv->outgoing.opaque = self;
> + self->priv->outgoing.cb = red_channel_get_outgoing_handler(self-
> >priv->channel);
> + self->priv->outgoing.pos = 0;
> + self->priv->outgoing.size = 0;
> +
> if (red_channel_client_test_remote_common_cap(self,
> SPICE_COMMON_CAP_MINI_HEADER)) {
> self->incoming.header = mini_header_wrapper;
> self->priv->send_data.header = mini_header_wrapper;
> @@ -278,6 +286,7 @@ static void
> red_channel_client_constructed(GObject *object)
> self->priv->send_data.header = full_header_wrapper;
> self->priv->is_mini_header = FALSE;
> }
> + self->incoming.header.data = self->incoming.header_buf;
> }
>
> static void red_channel_client_class_init(RedChannelClientClass
> *klass)
> @@ -900,15 +909,6 @@ static gboolean
> red_channel_client_initable_init(GInitable *initable,
> self->priv->latency_monitor.roundtrip = -1;
> }
>
> - self->incoming.opaque = self;
> - self->incoming.cb = red_channel_get_incoming_handler(self->priv-
> >channel);
> - self->incoming.header.data = self->incoming.header_buf;
> -
> - self->priv->outgoing.opaque = self;
> - self->priv->outgoing.cb = red_channel_get_outgoing_handler(self-
> >priv->channel);
> - self->priv->outgoing.pos = 0;
> - self->priv->outgoing.size = 0;
> -
> if (self->priv->stream)
> self->priv->stream->watch =
> core->watch_add(core, self->priv->stream->socket,
More information about the Spice-devel
mailing list