> > From: Jonathon Jongsma <jjongsma@xxxxxxxxxx> > > Rename this struct to make it clear that it's only the base class for > worker channels (e.g. display and cursor), not all channels. > > Also renamed CommonChannelClient to CommonWorkerChannelClient. I quite disagree with this change. I would like to remove the dependency from Cursor/DisplayChannel to the Worker. The dependency is weak and not necessary (I already posted a patch for this and is quite small). I agree however that the Common is not clear between who, just the Worker name (unless by Worker you mean something different than RedWorker). As they represent graphic card channels I could suggest CommonGraphicClient, but actually I'm not that comfortable with this either. Frediano > --- > server/cursor-channel.c | 26 +++++++++++++------------- > server/dcc.c | 8 ++++---- > server/dcc.h | 4 ++-- > server/display-channel.c | 6 +++--- > server/display-channel.h | 2 +- > server/red-worker.c | 42 +++++++++++++++++++++--------------------- > server/red-worker.h | 44 ++++++++++++++++++++++---------------------- > 7 files changed, 66 insertions(+), 66 deletions(-) > > diff --git a/server/cursor-channel.c b/server/cursor-channel.c > index 4c15582..45b7e38 100644 > --- a/server/cursor-channel.c > +++ b/server/cursor-channel.c > @@ -59,7 +59,7 @@ typedef struct CursorPipeItem { > } CursorPipeItem; > > struct CursorChannel { > - CommonChannel common; // Must be the first thing > + CommonWorkerChannel common; // Must be the first thing > > CursorItem *item; > int cursor_visible; > @@ -74,7 +74,7 @@ struct CursorChannel { > }; > > struct CursorChannelClient { > - CommonChannelClient common; > + CommonWorkerChannelClient common; > > CacheItem *cursor_cache[CURSOR_CACHE_HASH_SIZE]; > Ring cursor_cache_lru; > @@ -427,7 +427,7 @@ static void cursor_channel_release_item(RedChannelClient > *rcc, PipeItem *item, i > CursorChannel* cursor_channel_new(RedWorker *worker) > { > CursorChannel *cursor_channel; > - CommonChannel *channel = NULL; > + CommonWorkerChannel *channel = NULL; > ChannelCbs cbs = { > .on_disconnect = cursor_channel_client_on_disconnect, > .send_item = cursor_channel_send_item, > @@ -470,15 +470,15 @@ CursorChannelClient* > cursor_channel_client_new(CursorChannel *cursor, RedClient > spice_return_val_if_fail(!num_caps || caps, NULL); > > CursorChannelClient *ccc = > - (CursorChannelClient*)common_channel_new_client(&cursor->common, > - > sizeof(CursorChannelClient), > - client, stream, > - mig_target, > - FALSE, > - common_caps, > - num_common_caps, > - caps, > - num_caps); > + > (CursorChannelClient*)common_worker_channel_new_client(&cursor->common, > + > sizeof(CursorChannelClient), > + client, > stream, > + mig_target, > + FALSE, > + common_caps, > + > num_common_caps, > + caps, > + num_caps); > spice_return_val_if_fail(ccc != NULL, NULL); > > ring_init(&ccc->cursor_cache_lru); > @@ -561,7 +561,7 @@ void cursor_channel_init(CursorChannel *cursor, > CursorChannelClient *client) > spice_return_if_fail(cursor); > > if (!red_channel_is_connected(&cursor->common.base) > - || COMMON_CHANNEL(cursor)->during_target_migrate) { > + || COMMON_WORKER_CHANNEL(cursor)->during_target_migrate) { > spice_debug("during_target_migrate: skip init"); > return; > } > diff --git a/server/dcc.c b/server/dcc.c > index 5ccbda1..684fef1 100644 > --- a/server/dcc.c > +++ b/server/dcc.c > @@ -368,8 +368,8 @@ DisplayChannelClient *dcc_new(DisplayChannel *display, > { > DisplayChannelClient *dcc; > > - dcc = (DisplayChannelClient*)common_channel_new_client( > - COMMON_CHANNEL(display), sizeof(DisplayChannelClient), > + dcc = (DisplayChannelClient*)common_worker_channel_new_client( > + COMMON_WORKER_CHANNEL(display), sizeof(DisplayChannelClient), > client, stream, mig_target, TRUE, > common_caps, num_common_caps, > caps, num_caps); > @@ -445,7 +445,7 @@ void dcc_start(DisplayChannelClient *dcc) > { > DisplayChannel *display = DCC_TO_DC(dcc); > RedChannelClient *rcc = RED_CHANNEL_CLIENT(dcc); > - QXLInstance *qxl = red_worker_get_qxl(COMMON_CHANNEL(display)->worker); > + QXLInstance *qxl = > red_worker_get_qxl(COMMON_WORKER_CHANNEL(display)->worker); > > red_channel_client_push_set_ack(RED_CHANNEL_CLIENT(dcc)); > > @@ -626,7 +626,7 @@ void dcc_destroy_surface(DisplayChannelClient *dcc, > uint32_t surface_id) > display = DCC_TO_DC(dcc); > channel = RED_CHANNEL(display); > > - if (COMMON_CHANNEL(display)->during_target_migrate || > + if (COMMON_WORKER_CHANNEL(display)->during_target_migrate || > !dcc->surface_client_created[surface_id]) { > return; > } > diff --git a/server/dcc.h b/server/dcc.h > index a482938..c78f3b8 100644 > --- a/server/dcc.h > +++ b/server/dcc.h > @@ -55,7 +55,7 @@ typedef struct FreeList { > } FreeList; > > struct DisplayChannelClient { > - CommonChannelClient common; > + CommonWorkerChannelClient common; > SpiceImageCompression image_compression; > spice_wan_compression_t jpeg_state; > spice_wan_compression_t zlib_glz_state; > @@ -115,7 +115,7 @@ struct DisplayChannelClient { > }; > > #define DCC_TO_WORKER(dcc) \ > - (SPICE_CONTAINEROF((dcc)->common.base.channel, CommonChannel, > base)->worker) > + (SPICE_CONTAINEROF((dcc)->common.base.channel, CommonWorkerChannel, > base)->worker) > #define DCC_TO_DC(dcc) \ > SPICE_CONTAINEROF((dcc)->common.base.channel, DisplayChannel, > common.base) > #define RCC_TO_DCC(rcc) SPICE_CONTAINEROF((rcc), DisplayChannelClient, > common.base) > diff --git a/server/display-channel.c b/server/display-channel.c > index 5b496ae..c46676d 100644 > --- a/server/display-channel.c > +++ b/server/display-channel.c > @@ -241,7 +241,7 @@ static void stop_streams(DisplayChannel *display) > void display_channel_surface_unref(DisplayChannel *display, uint32_t > surface_id) > { > RedSurface *surface = &display->surfaces[surface_id]; > - RedWorker *worker = COMMON_CHANNEL(display)->worker; > + RedWorker *worker = COMMON_WORKER_CHANNEL(display)->worker; > QXLInstance *qxl = red_worker_get_qxl(worker); > DisplayChannelClient *dcc; > RingItem *link, *next; > @@ -1445,7 +1445,7 @@ void display_channel_drawable_unref(DisplayChannel > *display, Drawable *drawable) > ring_remove(item); > } > if (drawable->red_drawable) { > - red_drawable_unref(COMMON_CHANNEL(display)->worker, > drawable->red_drawable, drawable->group_id); > + red_drawable_unref(COMMON_WORKER_CHANNEL(display)->worker, > drawable->red_drawable, drawable->group_id); > } > drawable_free(display, drawable); > display->drawable_count--; > @@ -2155,7 +2155,7 @@ void display_channel_gl_scanout(DisplayChannel > *display) > > static void set_gl_draw_async_count(DisplayChannel *display, int num) > { > - RedWorker *worker = COMMON_CHANNEL(display)->worker; > + RedWorker *worker = COMMON_WORKER_CHANNEL(display)->worker; > QXLInstance *qxl = red_worker_get_qxl(worker); > > display->gl_draw_async_count = num; > diff --git a/server/display-channel.h b/server/display-channel.h > index e0b18ca..62aaaf6 100644 > --- a/server/display-channel.h > +++ b/server/display-channel.h > @@ -165,7 +165,7 @@ struct _Drawable { > }; > > struct DisplayChannel { > - CommonChannel common; // Must be the first thing > + CommonWorkerChannel common; // Must be the first thing > uint32_t bits_unique; > > MonitorsConfig *monitors_config; > diff --git a/server/red-worker.c b/server/red-worker.c > index d4e10d7..03d05dd 100644 > --- a/server/red-worker.c > +++ b/server/red-worker.c > @@ -114,7 +114,7 @@ static int display_is_connected(RedWorker *worker) > > static uint8_t *common_alloc_recv_buf(RedChannelClient *rcc, uint16_t type, > uint32_t size) > { > - CommonChannel *common = SPICE_CONTAINEROF(rcc->channel, CommonChannel, > base); > + CommonWorkerChannel *common = SPICE_CONTAINEROF(rcc->channel, > CommonWorkerChannel, base); > > /* SPICE_MSGC_MIGRATE_DATA is the only client message whose size is > dynamic */ > if (type == SPICE_MSGC_MIGRATE_DATA) { > @@ -432,7 +432,7 @@ static int common_channel_config_socket(RedChannelClient > *rcc) > RedClient *client = red_channel_client_get_client(rcc); > MainChannelClient *mcc = red_client_get_main(client); > RedsStream *stream = red_channel_client_get_stream(rcc); > - CommonChannelClient *ccc = COMMON_CHANNEL_CLIENT(rcc); > + CommonWorkerChannelClient *ccc = COMMON_WORKER_CHANNEL_CLIENT(rcc); > int flags; > int delay_val; > > @@ -464,16 +464,16 @@ static int > common_channel_config_socket(RedChannelClient *rcc) > return TRUE; > } > > -CommonChannelClient *common_channel_new_client(CommonChannel *common, > - int size, > - RedClient *client, > - RedsStream *stream, > - int mig_target, > - int monitor_latency, > - uint32_t *common_caps, > - int num_common_caps, > - uint32_t *caps, > - int num_caps) > +CommonWorkerChannelClient > *common_worker_channel_new_client(CommonWorkerChannel *common, > + int size, > + RedClient > *client, > + RedsStream > *stream, > + int mig_target, > + int > monitor_latency, > + uint32_t > *common_caps, > + int > num_common_caps, > + uint32_t *caps, > + int num_caps) > { > RedChannelClient *rcc = > red_channel_client_create(size, &common->base, client, stream, > monitor_latency, > @@ -481,7 +481,7 @@ CommonChannelClient > *common_channel_new_client(CommonChannel *common, > if (!rcc) { > return NULL; > } > - CommonChannelClient *common_cc = (CommonChannelClient*)rcc; > + CommonWorkerChannelClient *common_cc = (CommonWorkerChannelClient*)rcc; > common_cc->worker = common->worker; > common_cc->id = common->worker->qxl->id; > common->during_target_migrate = mig_target; > @@ -494,14 +494,14 @@ CommonChannelClient > *common_channel_new_client(CommonChannel *common, > } > > > -CommonChannel *red_worker_new_channel(RedWorker *worker, int size, > - const char *name, > - uint32_t channel_type, int > migration_flags, > - ChannelCbs *channel_cbs, > - channel_handle_parsed_proc handle_parsed) > +CommonWorkerChannel *red_worker_new_channel(RedWorker *worker, int size, > + const char *name, > + uint32_t channel_type, int > migration_flags, > + ChannelCbs *channel_cbs, > + channel_handle_parsed_proc > handle_parsed) > { > RedChannel *channel = NULL; > - CommonChannel *common; > + CommonWorkerChannel *common; > > spice_return_val_if_fail(worker, NULL); > spice_return_val_if_fail(channel_cbs, NULL); > @@ -523,7 +523,7 @@ CommonChannel *red_worker_new_channel(RedWorker *worker, > int size, > spice_return_val_if_fail(channel, NULL); > red_channel_set_stat_node(channel, reds_stat_add_node(reds, > worker->stat, name, TRUE)); > > - common = (CommonChannel *)channel; > + common = (CommonWorkerChannel *)channel; > common->worker = worker; > return common; > } > @@ -842,7 +842,7 @@ static void handle_dev_start(void *opaque, void *payload) > > spice_assert(!worker->running); > if (worker->cursor_channel) { > - COMMON_CHANNEL(worker->cursor_channel)->during_target_migrate = > FALSE; > + COMMON_WORKER_CHANNEL(worker->cursor_channel)->during_target_migrate > = FALSE; > } > if (worker->display_channel) { > worker->display_channel->common.during_target_migrate = FALSE; > diff --git a/server/red-worker.h b/server/red-worker.h > index 91533e1..8e499a1 100644 > --- a/server/red-worker.h > +++ b/server/red-worker.h > @@ -24,19 +24,19 @@ > > typedef struct RedWorker RedWorker; > > -typedef struct CommonChannelClient { > +typedef struct CommonWorkerChannelClient { > RedChannelClient base; > > uint32_t id; > RedWorker *worker; > int is_low_bandwidth; > -} CommonChannelClient; > +} CommonWorkerChannelClient; > > -#define COMMON_CHANNEL_CLIENT(Client) ((CommonChannelClient*)(Client)) > +#define COMMON_WORKER_CHANNEL_CLIENT(Client) > ((CommonWorkerChannelClient*)(Client)) > #define COMMON_CLIENT_TIMEOUT (NSEC_PER_SEC * 30) > > #define CHANNEL_RECEIVE_BUF_SIZE 1024 > -typedef struct CommonChannel { > +typedef struct CommonWorkerChannel { > RedChannel base; // Must be the first thing > > struct RedWorker *worker; > @@ -47,9 +47,9 @@ typedef struct CommonChannel { > The flag is used to avoid sending messages > that are artifacts > of the transition from stopped vm to > loaded vm (e.g., recreation > of the primary surface) */ > -} CommonChannel; > +} CommonWorkerChannel; > > -#define COMMON_CHANNEL(Channel) ((CommonChannel*)(Channel)) > +#define COMMON_WORKER_CHANNEL(Channel) ((CommonWorkerChannel*)(Channel)) > > enum { > PIPE_ITEM_TYPE_VERB = PIPE_ITEM_TYPE_CHANNEL_BASE, > @@ -102,21 +102,21 @@ RedMemSlotInfo* red_worker_get_memslot(RedWorker > *worker); > void red_drawable_unref(RedWorker *worker, RedDrawable *red_drawable, > uint32_t group_id); > > -CommonChannel *red_worker_new_channel(RedWorker *worker, int size, > - const char *name, > - uint32_t channel_type, int > migration_flags, > - ChannelCbs *channel_cbs, > - channel_handle_parsed_proc > handle_parsed); > - > -CommonChannelClient *common_channel_new_client(CommonChannel *common, > - int size, > - RedClient *client, > - RedsStream *stream, > - int mig_target, > - int monitor_latency, > - uint32_t *common_caps, > - int num_common_caps, > - uint32_t *caps, > - int num_caps); > +CommonWorkerChannel *red_worker_new_channel(RedWorker *worker, int size, > + const char *name, > + uint32_t channel_type, int > migration_flags, > + ChannelCbs *channel_cbs, > + channel_handle_parsed_proc > handle_parsed); > + > +CommonWorkerChannelClient > *common_worker_channel_new_client(CommonWorkerChannel *common, > + int size, > + RedClient > *client, > + RedsStream > *stream, > + int mig_target, > + int > monitor_latency, > + uint32_t > *common_caps, > + int > num_common_caps, > + uint32_t *caps, > + int num_caps); > > #endif _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel