[Spice-devel] [RFC v4 28/62] server/red_channel: add two helper functions

Marc-André Lureau marcandre.lureau at gmail.com
Mon May 2 16:56:31 PDT 2011


Ack, could be merged with 03/62 introduce RedChannelClient

On Tue, Apr 26, 2011 at 12:54 PM, Alon Levy <alevy at redhat.com> wrote:
> ---
>  server/red_channel.c |   10 ++++++++++
>  server/red_channel.h |    3 +++
>  2 files changed, 13 insertions(+), 0 deletions(-)
>
> diff --git a/server/red_channel.c b/server/red_channel.c
> index c6e23d9..b2d0cdb 100644
> --- a/server/red_channel.c
> +++ b/server/red_channel.c
> @@ -925,6 +925,11 @@ int red_channel_any_blocked(RedChannel *channel)
>     return !channel || !channel->rcc || channel->rcc->send_data.blocked;
>  }
>
> +int red_channel_client_blocked(RedChannelClient *rcc)
> +{
> +    return rcc && rcc->send_data.blocked;
> +}
> +
>  int red_channel_client_send_message_pending(RedChannelClient *rcc)
>  {
>     return rcc->send_data.header->type != 0;
> @@ -975,6 +980,11 @@ int red_channel_no_item_being_sent(RedChannel *channel)
>     return !channel->rcc || channel->rcc->send_data.item == NULL;
>  }
>
> +int red_channel_client_no_item_being_sent(RedChannelClient *rcc)
> +{
> +    return !rcc || rcc->send_data.item == NULL;
> +}
> +
>  void red_channel_client_pipe_remove_and_release(RedChannelClient *rcc,
>                                                 PipeItem *item)
>  {
> diff --git a/server/red_channel.h b/server/red_channel.h
> index 99b273a..44a40f0 100644
> --- a/server/red_channel.h
> +++ b/server/red_channel.h
> @@ -311,6 +311,8 @@ int red_channel_all_blocked(RedChannel *channel);
>  /* return TRUE if any of the connected clients to this channel are blocked */
>  int red_channel_any_blocked(RedChannel *channel);
>
> +int red_channel_client_blocked(RedChannelClient *rcc);
> +
>  /* helper for channels that have complex logic that can possibly ready a send */
>  int red_channel_client_send_message_pending(RedChannelClient *rcc);
>
> @@ -322,6 +324,7 @@ int red_channel_item_being_sent(RedChannel *channel, PipeItem *item);
>  int red_channel_client_item_being_sent(RedChannelClient *rcc, PipeItem *item);
>
>  int red_channel_no_item_being_sent(RedChannel *channel);
> +int red_channel_client_no_item_being_sent(RedChannelClient *rcc);
>
>  void red_channel_pipes_remove(RedChannel *channel, PipeItem *item);
>
> --
> 1.7.4.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