[Spice-devel] [spice-server 2/6] Use bool in ConnectivityMonitor
Jonathon Jongsma
jjongsma at redhat.com
Fri Apr 7 16:06:55 UTC 2017
Interesting. OK
Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
On Fri, 2017-04-07 at 16:31 +0200, Christophe Fergeau wrote:
> Their uint32_t value is never used, all that matters is whether we
> received data or not.
> ---
> server/red-channel-client.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/server/red-channel-client.c b/server/red-channel-
> client.c
> index ef0e892..c988170 100644
> --- a/server/red-channel-client.c
> +++ b/server/red-channel-client.c
> @@ -80,8 +80,8 @@ typedef struct RedChannelClientLatencyMonitor {
>
> typedef struct RedChannelClientConnectivityMonitor {
> int state;
> - uint32_t out_bytes;
> - uint32_t in_bytes;
> + bool sent_bytes;
> + bool received_bytes;
> uint32_t timeout;
> SpiceTimer *timer;
> } RedChannelClientConnectivityMonitor;
> @@ -465,7 +465,7 @@ RedChannel*
> red_channel_client_get_channel(RedChannelClient *rcc)
> static void red_channel_client_data_sent(RedChannelClient *rcc, int
> n)
> {
> if (rcc->priv->connectivity_monitor.timer) {
> - rcc->priv->connectivity_monitor.out_bytes += n;
> + rcc->priv->connectivity_monitor.sent_bytes = true;
> }
> stat_inc_counter(rcc->priv->out_bytes, n);
> }
> @@ -473,7 +473,7 @@ static void
> red_channel_client_data_sent(RedChannelClient *rcc, int n)
> static void red_channel_client_data_read(RedChannelClient *rcc, int
> n)
> {
> if (rcc->priv->connectivity_monitor.timer) {
> - rcc->priv->connectivity_monitor.in_bytes += n;
> + rcc->priv->connectivity_monitor.received_bytes = true;
> }
> }
>
> @@ -746,7 +746,7 @@ static void
> red_channel_client_connectivity_timer(void *opaque)
> int is_alive = TRUE;
>
> if (monitor->state == CONNECTIVITY_STATE_BLOCKED) {
> - if (monitor->in_bytes == 0 && monitor->out_bytes == 0) {
> + if (!monitor->received_bytes && !monitor->sent_bytes) {
> if (!rcc->priv->send_data.blocked &&
> !red_channel_client_waiting_for_ack(rcc)) {
> spice_error("mismatch between rcc-state and
> connectivity-state");
> }
> @@ -754,7 +754,7 @@ static void
> red_channel_client_connectivity_timer(void *opaque)
> is_alive = FALSE;
> }
> } else if (monitor->state == CONNECTIVITY_STATE_WAIT_PONG) {
> - if (monitor->in_bytes == 0) {
> + if (!monitor->received_bytes) {
> if (rcc->priv->latency_monitor.state !=
> PING_STATE_WARMUP &&
> rcc->priv->latency_monitor.state !=
> PING_STATE_LATENCY) {
> spice_error("mismatch between rcc-state and
> connectivity-state");
> @@ -766,8 +766,8 @@ static void
> red_channel_client_connectivity_timer(void *opaque)
>
> if (is_alive) {
> SpiceCoreInterfaceInternal *core =
> red_channel_get_core_interface(rcc->priv->channel);
> - monitor->in_bytes = 0;
> - monitor->out_bytes = 0;
> + monitor->received_bytes = false;
> + monitor->sent_bytes = false;
> if (rcc->priv->send_data.blocked ||
> red_channel_client_waiting_for_ack(rcc)) {
> monitor->state = CONNECTIVITY_STATE_BLOCKED;
> } else if (rcc->priv->latency_monitor.state ==
> PING_STATE_WARMUP ||
More information about the Spice-devel
mailing list