Changes since v1: - Improved some commit log messages. - Renamed errno_ to sys_errno. - Used inheriting constructors for errors. - Used std::runtime_error as predecessor of the Error class to handle the message string. - Cleaned up the terminators in the unit test :) - Fixed a typo in the WriteError exception. - Fixed the locking in "Encapsulate the stream port fd and locking". Lukáš Hrázký (9): Use read_all() to read headers of received messages Move out {read,write}_all() to a separate module Implement an exception hierarchy for ReadError Introduce a WriteError exception for write_all() Unify the structure of write_all() and read_all() Add a unit test for the stream port Change the mode to NONBLOCK for the virtio port Encapsulate the stream port fd and locking Refactor and simplify polling for messages to read src/Makefile.am | 4 + src/error.cpp | 21 ++++ src/error.hpp | 53 +++++++++ src/spice-streaming-agent.cpp | 218 ++++++++++++------------------------- src/stream-port.cpp | 118 ++++++++++++++++++++ src/stream-port.hpp | 35 ++++++ src/unittests/.gitignore | 1 + src/unittests/Makefile.am | 9 +- src/unittests/test-stream-port.cpp | 81 ++++++++++++++ 9 files changed, 389 insertions(+), 151 deletions(-) create mode 100644 src/error.cpp create mode 100644 src/error.hpp create mode 100644 src/stream-port.cpp create mode 100644 src/stream-port.hpp create mode 100644 src/unittests/test-stream-port.cpp -- 2.16.2 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel