ack On Wed, Jan 19, 2011 at 7:07 PM, Alon Levy <[email protected]> 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 > [email protected] > http://lists.freedesktop.org/mailman/listinfo/spice-devel >
-- Marc-André Lureau _______________________________________________ Spice-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/spice-devel
