diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2017-10-09 16:54:07 +0100 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2017-10-16 16:57:08 +0100 |
commit | 8dfd5f96515ca20c4eb109cb0ee28e2bb32fc505 (patch) | |
tree | efe8a11fd65642f3a7c3c22ad53609827eb797f8 /include/io | |
parent | fb74e5903914b9ec8c80b6f7a35da000f9f92ae7 (diff) | |
download | qemu-8dfd5f96515ca20c4eb109cb0ee28e2bb32fc505.zip qemu-8dfd5f96515ca20c4eb109cb0ee28e2bb32fc505.tar.gz qemu-8dfd5f96515ca20c4eb109cb0ee28e2bb32fc505.tar.bz2 |
io: get rid of bounce buffering in websock write path
Currently most outbound I/O on the websock channel gets copied into the
rawoutput buffer, and then immediately copied again into the encoutput
buffer, with a header prepended. Now that qio_channel_websock_encode
accepts a struct iovec, we can trivially remove this bounce buffering
and write directly to encoutput.
In doing so, we also now correctly validate the encoutput size against
the QIO_CHANNEL_WEBSOCK_MAX_BUFFER limit.
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'include/io')
-rw-r--r-- | include/io/channel-websock.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/io/channel-websock.h b/include/io/channel-websock.h index 3762707..a7e5e92 100644 --- a/include/io/channel-websock.h +++ b/include/io/channel-websock.h @@ -59,7 +59,6 @@ struct QIOChannelWebsock { Buffer encinput; Buffer encoutput; Buffer rawinput; - Buffer rawoutput; size_t payload_remain; size_t pong_remain; QIOChannelWebsockMask mask; |