diff options
author | Daniel P. Berrange | 2017-10-09 17:54:07 +0200 |
---|---|---|
committer | Daniel P. Berrange | 2017-10-16 17:57:08 +0200 |
commit | 8dfd5f96515ca20c4eb109cb0ee28e2bb32fc505 (patch) | |
tree | efe8a11fd65642f3a7c3c22ad53609827eb797f8 /include/io | |
parent | io: pass a struct iovec into qio_channel_websock_encode (diff) | |
download | qemu-8dfd5f96515ca20c4eb109cb0ee28e2bb32fc505.tar.gz qemu-8dfd5f96515ca20c4eb109cb0ee28e2bb32fc505.tar.xz qemu-8dfd5f96515ca20c4eb109cb0ee28e2bb32fc505.zip |
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 3762707b9c..a7e5e92e61 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; |