Commit bac6c954 authored by Daniel P. Berrangé's avatar Daniel P. Berrangé
Browse files

io: get rid of qio_channel_websock_encode helper method



The qio_channel_websock_encode method is only used in one place,
everything else calls qio_channel_websock_encode_buffer directly.
It can also be pushed up a level into the qio_channel_websock_writev
method, since every other caller of qio_channel_websock_write_wire
has already filled encoutput.

Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
parent 57b0cdf1
Loading
Loading
Loading
Loading
+6 −14
Original line number Diff line number Diff line
@@ -616,18 +616,6 @@ static void qio_channel_websock_encode_buffer(QIOChannelWebsock *ioc,
}


static void qio_channel_websock_encode(QIOChannelWebsock *ioc)
{
    if (!ioc->rawoutput.offset) {
        return;
    }
    qio_channel_websock_encode_buffer(
        ioc, &ioc->encoutput, QIO_CHANNEL_WEBSOCK_OPCODE_BINARY_FRAME,
        &ioc->rawoutput);
    buffer_reset(&ioc->rawoutput);
}


static ssize_t qio_channel_websock_write_wire(QIOChannelWebsock *, Error **);


@@ -948,8 +936,6 @@ static ssize_t qio_channel_websock_write_wire(QIOChannelWebsock *ioc,
    ssize_t ret;
    ssize_t done = 0;

    qio_channel_websock_encode(ioc);

    while (ioc->encoutput.offset > 0) {
        ret = qio_channel_write(ioc->master,
                                (char *)ioc->encoutput.buffer,
@@ -1134,6 +1120,12 @@ static ssize_t qio_channel_websock_writev(QIOChannel *ioc,
    }

 done:
    if (ioc->rawoutput.offset) {
        qio_channel_websock_encode_buffer(
            ioc, &ioc->encoutput, QIO_CHANNEL_WEBSOCK_OPCODE_BINARY_FRAME,
            &ioc->rawoutput);
        buffer_reset(&ioc->rawoutput);
    }
    ret = qio_channel_websock_write_wire(wioc, errp);
    if (ret < 0 &&
        ret != QIO_CHANNEL_ERR_BLOCK) {