[Spice-devel] [PATCH 06/24] server/red_channel (tunnel): change sig of red_channel_handle_message

Marc-André Lureau marcandre.lureau at gmail.com
Wed Feb 2 10:50:29 PST 2011


ack

On Wed, Jan 19, 2011 at 7:07 PM, Alon Levy <alevy at redhat.com> wrote:
> for later usage with red_worker
> ---
>  server/red_channel.c       |   11 ++++++-----
>  server/red_channel.h       |    4 +++-
>  server/red_tunnel_worker.c |    4 ++--
>  3 files changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/server/red_channel.c b/server/red_channel.c
> index 5220341..c13d972 100644
> --- a/server/red_channel.c
> +++ b/server/red_channel.c
> @@ -387,15 +387,16 @@ void red_channel_init_outgoing_messages_window(RedChannel *channel)
>     red_channel_push(channel);
>  }
>
> -int red_channel_handle_message(RedChannel *channel, SpiceDataHeader *header, uint8_t *msg)
> +int red_channel_handle_message(RedChannel *channel, uint32_t size,
> +                               uint16_t type, void *message)
>  {
> -    switch (header->type) {
> +    switch (type) {
>     case SPICE_MSGC_ACK_SYNC:
> -        if (header->size != sizeof(uint32_t)) {
> +        if (size != sizeof(uint32_t)) {
>             red_printf("bad message size");
>             return FALSE;
>         }
> -        channel->ack_data.client_generation = *(uint32_t *)(msg);
> +        channel->ack_data.client_generation = *(uint32_t *)(message);
>         break;
>     case SPICE_MSGC_ACK:
>         if (channel->ack_data.client_generation == channel->ack_data.generation) {
> @@ -404,7 +405,7 @@ int red_channel_handle_message(RedChannel *channel, SpiceDataHeader *header, uin
>         }
>         break;
>     default:
> -        red_printf("invalid message type %u", header->type);
> +        red_printf("invalid message type %u", type);
>         return FALSE;
>     }
>     return TRUE;
> diff --git a/server/red_channel.h b/server/red_channel.h
> index 69b4cbf..0339559 100644
> --- a/server/red_channel.h
> +++ b/server/red_channel.h
> @@ -196,7 +196,9 @@ void red_channel_shutdown(RedChannel *channel);
>  void red_channel_init_outgoing_messages_window(RedChannel *channel);
>
>  /* handles general channel msgs from the client */
> -int red_channel_handle_message(RedChannel *channel, SpiceDataHeader *header, uint8_t *msg);
> +int red_channel_handle_message(RedChannel *channel, uint32_t size,
> +                               uint16_t type, void *message);
> +
>
>  /* when preparing send_data: should call reset, then init and then add_buf per buffer that is
>    being sent */
> diff --git a/server/red_tunnel_worker.c b/server/red_tunnel_worker.c
> index 6d6cc7a..151ccd1 100644
> --- a/server/red_tunnel_worker.c
> +++ b/server/red_tunnel_worker.c
> @@ -2247,7 +2247,7 @@ static int tunnel_channel_handle_message(RedChannel *channel, SpiceDataHeader *h
>         }
>         break;
>     default:
> -        return red_channel_handle_message(channel, header, msg);
> +        return red_channel_handle_message(channel, header->size, header->type, msg);
>     }
>
>     switch (header->type) {
> @@ -2325,7 +2325,7 @@ static int tunnel_channel_handle_message(RedChannel *channel, SpiceDataHeader *h
>         }
>         return tunnel_channel_handle_migrate_data(tunnel_channel, (TunnelMigrateData *)msg);
>     default:
> -        return red_channel_handle_message(channel, header, msg);
> +        return red_channel_handle_message(channel, header->size, header->type, msg);
>     }
>     return TRUE;
>  }
> --
> 1.7.3.4
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
>



-- 
Marc-André Lureau


More information about the Spice-devel mailing list