[Spice-devel] [spice-server v2 13/14] rcc: Rename {Outgoing, Incoming}Handler

Christophe Fergeau cfergeau at redhat.com
Tue Feb 14 14:17:38 UTC 2017


They no longer contain any vfuncs, so calling them "handler" does not
make a lot of sense. This commit renames them to
OutgoingMessageHandler/IncomingMessageHandler.

Signed-off-by: Christophe Fergeau <cfergeau at redhat.com>
---
 server/red-channel-client.c | 84 ++++++++++++++++++++++-----------------------
 1 file changed, 42 insertions(+), 42 deletions(-)

diff --git a/server/red-channel-client.c b/server/red-channel-client.c
index a22df6b..393bada 100644
--- a/server/red-channel-client.c
+++ b/server/red-channel-client.c
@@ -78,21 +78,21 @@ typedef struct RedChannelClientConnectivityMonitor {
     SpiceTimer *timer;
 } RedChannelClientConnectivityMonitor;
 
-typedef struct OutgoingHandler {
+typedef struct OutgoingMessageBuffer {
     struct iovec vec_buf[IOV_MAX];
     int vec_size;
     struct iovec *vec;
     int pos;
     int size;
-} OutgoingHandler;
+} OutgoingMessageBuffer;
 
-typedef struct IncomingHandler {
+typedef struct IncomingMessageBuffer {
     uint8_t header_buf[MAX_HEADER_SIZE];
     SpiceDataHeaderOpaque header;
     uint32_t header_pos;
     uint8_t *msg; // data of the msg following the header. allocated by alloc_msg_buf.
     uint32_t msg_pos;
-} IncomingHandler;
+} IncomingMessageBuffer;
 
 struct RedChannelClientPrivate
 {
@@ -139,8 +139,8 @@ struct RedChannelClientPrivate
     RedChannelClientLatencyMonitor latency_monitor;
     RedChannelClientConnectivityMonitor connectivity_monitor;
 
-    IncomingHandler incoming;
-    OutgoingHandler outgoing;
+    IncomingMessageBuffer incoming;
+    OutgoingMessageBuffer outgoing;
 };
 
 static const SpiceDataHeaderOpaque full_header_wrapper;
@@ -1115,24 +1115,24 @@ static void red_channel_client_release_msg_buf(RedChannelClient *rcc,
 static void red_channel_client_handle_outgoing(RedChannelClient *rcc)
 {
     RedsStream *stream = rcc->priv->stream;
-    OutgoingHandler *handler = &rcc->priv->outgoing;
+    OutgoingMessageBuffer *buffer = &rcc->priv->outgoing;
     ssize_t n;
 
     if (!stream) {
         return;
     }
 
-    if (handler->size == 0) {
-        handler->vec = handler->vec_buf;
-        handler->size = red_channel_client_get_out_msg_size(rcc);
-        if (!handler->size) {  // nothing to be sent
+    if (buffer->size == 0) {
+        buffer->vec = buffer->vec_buf;
+        buffer->size = red_channel_client_get_out_msg_size(rcc);
+        if (!buffer->size) {  // nothing to be sent
             return;
         }
     }
 
     for (;;) {
-        red_channel_client_prepare_out_msg(rcc, handler->vec, &handler->vec_size, handler->pos);
-        n = reds_stream_writev(stream, handler->vec, handler->vec_size);
+        red_channel_client_prepare_out_msg(rcc, buffer->vec, &buffer->vec_size, buffer->pos);
+        n = reds_stream_writev(stream, buffer->vec, buffer->vec_size);
         if (n == -1) {
             switch (errno) {
             case EAGAIN:
@@ -1149,15 +1149,15 @@ static void red_channel_client_handle_outgoing(RedChannelClient *rcc)
                 return;
             }
         } else {
-            handler->pos += n;
+            buffer->pos += n;
             red_channel_client_data_sent(rcc, n);
-            if (handler->pos == handler->size) { // finished writing data
-                /* reset handler before calling on_msg_done, since it
+            if (buffer->pos == buffer->size) { // finished writing data
+                /* reset buffer before calling on_msg_done, since it
                  * can trigger another call to red_channel_client_handle_outgoing (when
                  * switching from the urgent marshaller to the main one */
-                handler->vec = handler->vec_buf;
-                handler->pos = 0;
-                handler->size = 0;
+                buffer->vec = buffer->vec_buf;
+                buffer->pos = 0;
+                buffer->size = 0;
                 red_channel_client_msg_sent(rcc);
                 return;
             }
@@ -1225,7 +1225,7 @@ static uint8_t *red_channel_client_parse(RedChannelClient *rcc, uint8_t *message
 static void red_channel_client_handle_incoming(RedChannelClient *rcc)
 {
     RedsStream *stream = rcc->priv->stream;
-    IncomingHandler *handler = &rcc->priv->incoming;
+    IncomingMessageBuffer *buffer = &rcc->priv->incoming;
     int bytes_read;
     uint16_t msg_type;
     uint32_t msg_size;
@@ -1244,28 +1244,28 @@ static void red_channel_client_handle_incoming(RedChannelClient *rcc)
         RedChannel *channel = red_channel_client_get_channel(rcc);
         RedChannelClass *klass = RED_CHANNEL_GET_CLASS(channel);
 
-        if (handler->header_pos < handler->header.header_size) {
+        if (buffer->header_pos < buffer->header.header_size) {
             bytes_read = red_peer_receive(stream,
-                                          handler->header.data + handler->header_pos,
-                                          handler->header.header_size - handler->header_pos);
+                                          buffer->header.data + buffer->header_pos,
+                                          buffer->header.header_size - buffer->header_pos);
             if (bytes_read == -1) {
                 red_channel_client_disconnect(rcc);
                 return;
             }
             red_channel_client_data_read(rcc, bytes_read);
-            handler->header_pos += bytes_read;
+            buffer->header_pos += bytes_read;
 
-            if (handler->header_pos != handler->header.header_size) {
+            if (buffer->header_pos != buffer->header.header_size) {
                 return;
             }
         }
 
-        msg_size = handler->header.get_msg_size(&handler->header);
-        msg_type = handler->header.get_msg_type(&handler->header);
-        if (handler->msg_pos < msg_size) {
-            if (!handler->msg) {
-                handler->msg = red_channel_client_alloc_msg_buf(rcc, msg_type, msg_size);
-                if (handler->msg == NULL) {
+        msg_size = buffer->header.get_msg_size(&buffer->header);
+        msg_type = buffer->header.get_msg_type(&buffer->header);
+        if (buffer->msg_pos < msg_size) {
+            if (!buffer->msg) {
+                buffer->msg = red_channel_client_alloc_msg_buf(rcc, msg_type, msg_size);
+                if (buffer->msg == NULL) {
                     spice_printerr("ERROR: channel refused to allocate buffer.");
                     red_channel_client_disconnect(rcc);
                     return;
@@ -1273,30 +1273,30 @@ static void red_channel_client_handle_incoming(RedChannelClient *rcc)
             }
 
             bytes_read = red_peer_receive(stream,
-                                          handler->msg + handler->msg_pos,
-                                          msg_size - handler->msg_pos);
+                                          buffer->msg + buffer->msg_pos,
+                                          msg_size - buffer->msg_pos);
             if (bytes_read == -1) {
                 red_channel_client_release_msg_buf(rcc, msg_type, msg_size,
-                                                   handler->msg);
+                                                   buffer->msg);
                 red_channel_client_disconnect(rcc);
                 return;
             }
             red_channel_client_data_read(rcc, bytes_read);
-            handler->msg_pos += bytes_read;
-            if (handler->msg_pos != msg_size) {
+            buffer->msg_pos += bytes_read;
+            if (buffer->msg_pos != msg_size) {
                 return;
             }
         }
 
         parsed = red_channel_client_parse(rcc,
-                                          handler->msg, msg_size,
+                                          buffer->msg, msg_size,
                                           msg_type,
                                           &parsed_size, &parsed_free);
         if (parsed == NULL) {
             spice_printerr("failed to parse message type %d", msg_type);
             red_channel_client_release_msg_buf(rcc,
                                                msg_type, msg_size,
-                                               handler->msg);
+                                               buffer->msg);
             red_channel_client_disconnect(rcc);
             return;
         }
@@ -1305,12 +1305,12 @@ static void red_channel_client_handle_incoming(RedChannelClient *rcc)
         if (parsed_free != NULL) {
             parsed_free(parsed);
         }
-        handler->msg_pos = 0;
+        buffer->msg_pos = 0;
         red_channel_client_release_msg_buf(rcc,
                                            msg_type, msg_size,
-                                           handler->msg);
-        handler->msg = NULL;
-        handler->header_pos = 0;
+                                           buffer->msg);
+        buffer->msg = NULL;
+        buffer->header_pos = 0;
 
         if (!ret_handle) {
             red_channel_client_disconnect(rcc);
-- 
2.9.3



More information about the Spice-devel mailing list