[Spice-devel] [PATCH spice-streaming-agent v3 4/4] Stub to handle errors from server

Frediano Ziglio fziglio at redhat.com
Tue Feb 20 20:48:15 UTC 2018


Base error message handling.

Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
 src/spice-streaming-agent.cpp | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/spice-streaming-agent.cpp b/src/spice-streaming-agent.cpp
index 31c655c..343b252 100644
--- a/src/spice-streaming-agent.cpp
+++ b/src/spice-streaming-agent.cpp
@@ -81,6 +81,7 @@ static int have_something_to_read(int timeout)
 
 static void handle_stream_capabilities(uint32_t len);
 static void handle_stream_start_stop(uint32_t len);
+static void handle_stream_error(uint32_t len);
 
 static void read_command_from_device(void)
 {
@@ -101,6 +102,8 @@ static void read_command_from_device(void)
     switch (hdr.type) {
     case STREAM_TYPE_CAPABILITIES:
         return handle_stream_capabilities(hdr.size);
+    case STREAM_TYPE_NOTIFY_ERROR:
+        return handle_stream_error(hdr.size);
     case STREAM_TYPE_START_STOP:
         return handle_stream_start_stop(hdr.size);
     }
@@ -154,6 +157,12 @@ static void handle_stream_capabilities(uint32_t len)
     }
 }
 
+static void handle_stream_error(uint32_t len)
+{
+    // TODO read message and use it
+    throw std::runtime_error("got an error message from server");
+}
+
 static int read_command(bool blocking)
 {
     int timeout = blocking?-1:0;
-- 
2.14.3



More information about the Spice-devel mailing list