[Spice-devel] [PATCH v4 09/17] Make RedChannelClient::incoming private
Frediano Ziglio
fziglio at redhat.com
Thu Dec 1 11:24:31 UTC 2016
Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
server/red-channel-client-private.h | 11 +++++++++++
server/red-channel-client.c | 12 ++++++------
server/red-channel-client.h | 13 -------------
3 files changed, 17 insertions(+), 19 deletions(-)
diff --git a/server/red-channel-client-private.h b/server/red-channel-client-private.h
index 38759ff..5f31ed2 100644
--- a/server/red-channel-client-private.h
+++ b/server/red-channel-client-private.h
@@ -50,6 +50,16 @@ typedef struct OutgoingHandler {
int size;
} OutgoingHandler;
+typedef struct IncomingHandler {
+ IncomingHandlerInterface *cb;
+ void *opaque;
+ 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;
+
struct RedChannelClientPrivate
{
RedChannel *channel;
@@ -99,6 +109,7 @@ struct RedChannelClientPrivate
RedChannelClientLatencyMonitor latency_monitor;
RedChannelClientConnectivityMonitor connectivity_monitor;
+ IncomingHandler incoming;
OutgoingHandler outgoing;
};
diff --git a/server/red-channel-client.c b/server/red-channel-client.c
index 24b2fb0..2b1843a 100644
--- a/server/red-channel-client.c
+++ b/server/red-channel-client.c
@@ -267,8 +267,8 @@ static void red_channel_client_constructed(GObject *object)
{
RedChannelClient *self = RED_CHANNEL_CLIENT(object);
- self->incoming.opaque = self;
- self->incoming.cb = red_channel_get_incoming_handler(self->priv->channel);
+ self->priv->incoming.opaque = self;
+ self->priv->incoming.cb = red_channel_get_incoming_handler(self->priv->channel);
self->priv->outgoing.opaque = self;
self->priv->outgoing.cb = red_channel_get_outgoing_handler(self->priv->channel);
@@ -276,15 +276,15 @@ static void red_channel_client_constructed(GObject *object)
self->priv->outgoing.size = 0;
if (red_channel_client_test_remote_common_cap(self, SPICE_COMMON_CAP_MINI_HEADER)) {
- self->incoming.header = mini_header_wrapper;
+ self->priv->incoming.header = mini_header_wrapper;
self->priv->send_data.header = mini_header_wrapper;
self->priv->is_mini_header = TRUE;
} else {
- self->incoming.header = full_header_wrapper;
+ self->priv->incoming.header = full_header_wrapper;
self->priv->send_data.header = full_header_wrapper;
self->priv->is_mini_header = FALSE;
}
- self->incoming.header.data = self->incoming.header_buf;
+ self->priv->incoming.header.data = self->priv->incoming.header_buf;
}
static void red_channel_client_class_init(RedChannelClientClass *klass)
@@ -1189,7 +1189,7 @@ static void red_peer_handle_incoming(RedsStream *stream, IncomingHandler *handle
void red_channel_client_receive(RedChannelClient *rcc)
{
g_object_ref(rcc);
- red_peer_handle_incoming(rcc->priv->stream, &rcc->incoming);
+ red_peer_handle_incoming(rcc->priv->stream, &rcc->priv->incoming);
g_object_unref(rcc);
}
diff --git a/server/red-channel-client.h b/server/red-channel-client.h
index 94b4f58..13ddf30 100644
--- a/server/red-channel-client.h
+++ b/server/red-channel-client.h
@@ -190,23 +190,10 @@ gboolean red_channel_client_set_migration_seamless(RedChannelClient *rcc);
void red_channel_client_set_destroying(RedChannelClient *rcc);
gboolean red_channel_client_is_destroying(RedChannelClient *rcc);
-typedef struct IncomingHandler {
- IncomingHandlerInterface *cb;
- void *opaque;
- 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;
-
struct RedChannelClient
{
GObject parent;
- /* protected */
- IncomingHandler incoming;
-
RedChannelClientPrivate *priv;
};
--
git-series 0.9.1
More information about the Spice-devel
mailing list