summary refs log tree commit diff stats
path: root/include/io/channel-websock.h
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2017-10-09 16:54:07 +0100
committerDaniel P. Berrange <berrange@redhat.com>2017-10-16 16:57:08 +0100
commit8dfd5f96515ca20c4eb109cb0ee28e2bb32fc505 (patch)
treeefe8a11fd65642f3a7c3c22ad53609827eb797f8 /include/io/channel-websock.h
parentfb74e5903914b9ec8c80b6f7a35da000f9f92ae7 (diff)
downloadfocaccia-qemu-8dfd5f96515ca20c4eb109cb0ee28e2bb32fc505.tar.gz
focaccia-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/channel-websock.h')
-rw-r--r--include/io/channel-websock.h1
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;