summaryrefslogtreecommitdiffstats
path: root/rfb/rfb.h
diff options
context:
space:
mode:
authorFloris Bos <bos@je-eigen-domein.nl>2015-01-17 22:49:48 +0100
committerFloris Bos <bos@je-eigen-domein.nl>2015-01-17 22:49:48 +0100
commit6836ccb208f8c16824b8c1e330acb077c70c98c6 (patch)
tree0be8f48f5160109fc10b19f5f9f90fbfd9e97c0e /rfb/rfb.h
parenta48035a1ce6b5fa9738e9f1762294ddfe52b8d57 (diff)
downloadlibtdevnc-6836ccb208f8c16824b8c1e330acb077c70c98c6.tar.gz
libtdevnc-6836ccb208f8c16824b8c1e330acb077c70c98c6.zip
Fix handling of multiple VNC commands per websockets frame
- When processing input, check if there is any extra data pending in the internal websocket frame and SSL buffers. - Prevents input events lagging behind because they get stuck in one of the buffers. Data pending in our own buffers cannot be detected with select() so was not processed until more input arrives from the network. - Closes # 55 Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
Diffstat (limited to 'rfb/rfb.h')
-rw-r--r--rfb/rfb.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/rfb/rfb.h b/rfb/rfb.h
index f7919c6..0c34d74 100644
--- a/rfb/rfb.h
+++ b/rfb/rfb.h
@@ -765,6 +765,7 @@ extern rfbBool webSocketsCheck(rfbClientPtr cl);
extern rfbBool webSocketCheckDisconnect(rfbClientPtr cl);
extern int webSocketsEncode(rfbClientPtr cl, const char *src, int len, char **dst);
extern int webSocketsDecode(rfbClientPtr cl, char *dst, int len);
+extern rfbBool webSocketsHasDataInBuffer(rfbClientPtr cl);
#endif
/* rfbserver.c */