]> source.dussan.org Git - tigervnc.git/commit
Change streams to be asynchronous
authorPierre Ossman <ossman@cendio.se>
Thu, 14 May 2020 16:49:39 +0000 (18:49 +0200)
committerPierre Ossman <ossman@cendio.se>
Thu, 21 May 2020 10:59:02 +0000 (12:59 +0200)
commitad0f0618fa2ca13d7b916f22eccc5ba3201482cb
tree55b84c52f8ab0e7ebe672458471e4577afddc1b9
parentc0dac220de0186a879f1f71966a2848000f69a48
Change streams to be asynchronous

Major restructuring of how streams work. Neither input nor output
streams are now blocking. This avoids stalling the rest of the client or
server when a peer is slow or unresponsive.

Note that this puts an extra burden on users of streams to make sure
they are allowed to do their work once the underlying transports are
ready (e.g. monitoring fds).
69 files changed:
common/rdr/BufferedInStream.cxx
common/rdr/BufferedInStream.h
common/rdr/BufferedOutStream.cxx
common/rdr/BufferedOutStream.h
common/rdr/Exception.h
common/rdr/FdInStream.cxx
common/rdr/FdInStream.h
common/rdr/FdOutStream.cxx
common/rdr/FdOutStream.h
common/rdr/FileInStream.cxx
common/rdr/FileInStream.h
common/rdr/HexInStream.cxx
common/rdr/InStream.h
common/rdr/MemInStream.h
common/rdr/OutStream.h
common/rdr/RandomStream.cxx
common/rdr/RandomStream.h
common/rdr/TLSInStream.cxx
common/rdr/TLSInStream.h
common/rdr/ZlibInStream.cxx
common/rdr/ZlibInStream.h
common/rfb/CConnection.cxx
common/rfb/CConnection.h
common/rfb/CMsgHandler.h
common/rfb/CMsgReader.cxx
common/rfb/CMsgReader.h
common/rfb/CSecurityTLS.cxx
common/rfb/CSecurityVeNCrypt.cxx
common/rfb/CSecurityVeNCrypt.h
common/rfb/CSecurityVncAuth.cxx
common/rfb/CopyRectDecoder.cxx
common/rfb/CopyRectDecoder.h
common/rfb/DecodeManager.cxx
common/rfb/DecodeManager.h
common/rfb/Decoder.h
common/rfb/HextileDecoder.cxx
common/rfb/HextileDecoder.h
common/rfb/RREDecoder.cxx
common/rfb/RREDecoder.h
common/rfb/RawDecoder.cxx
common/rfb/RawDecoder.h
common/rfb/SConnection.cxx
common/rfb/SConnection.h
common/rfb/SMsgReader.cxx
common/rfb/SMsgReader.h
common/rfb/SSecurityPlain.cxx
common/rfb/SSecurityVeNCrypt.cxx
common/rfb/SSecurityVncAuth.cxx
common/rfb/SSecurityVncAuth.h
common/rfb/ServerCore.cxx
common/rfb/ServerCore.h
common/rfb/TightDecoder.cxx
common/rfb/TightDecoder.h
common/rfb/VNCSConnectionST.cxx
common/rfb/VNCSConnectionST.h
common/rfb/ZRLEDecoder.cxx
common/rfb/ZRLEDecoder.h
common/rfb/zrleDecode.h
tests/perf/decperf.cxx
tests/perf/encperf.cxx
unix/vncserver/vncserver.in
unix/x0vncserver/x0vncserver.cxx
unix/x0vncserver/x0vncserver.man
unix/xserver/hw/vnc/XserverDesktop.cc
unix/xserver/hw/vnc/Xvnc.man
unix/xserver/hw/vnc/vncExtInit.cc
vncviewer/CConn.cxx
vncviewer/CConn.h
win/rfb_win32/SocketManager.cxx