[Spice-devel] [PATCH spice-server 05/10] main-dispatcher: Use dispatcher_send_message_generic
Jonathon Jongsma
jjongsma at redhat.com
Wed Mar 20 16:58:11 UTC 2019
There should be some justification in the commit log about why this is
an improvement.
Jonathon
On Wed, 2019-03-20 at 09:59 +0000, Frediano Ziglio wrote:
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> server/main-dispatcher.c | 38 ++++++++------------------------------
> 1 file changed, 8 insertions(+), 30 deletions(-)
>
> diff --git a/server/main-dispatcher.c b/server/main-dispatcher.c
> index 839e7242..904579a8 100644
> --- a/server/main-dispatcher.c
> +++ b/server/main-dispatcher.c
> @@ -121,15 +121,6 @@ main_dispatcher_init(MainDispatcher *self)
> self->priv = main_dispatcher_get_instance_private(self);
> }
>
> -enum {
> - MAIN_DISPATCHER_CHANNEL_EVENT = 0,
> - MAIN_DISPATCHER_MIGRATE_SEAMLESS_DST_COMPLETE,
> - MAIN_DISPATCHER_SET_MM_TIME_LATENCY,
> - MAIN_DISPATCHER_CLIENT_DISCONNECT,
> -
> - MAIN_DISPATCHER_NUM_MESSAGES
> -};
> -
> typedef struct MainDispatcherChannelEventMessage {
> int event;
> SpiceChannelEventInfo *info;
> @@ -168,8 +159,8 @@ void main_dispatcher_channel_event(MainDispatcher
> *self, int event, SpiceChannel
> }
> msg.event = event;
> msg.info = info;
> - dispatcher_send_message(DISPATCHER(self),
> MAIN_DISPATCHER_CHANNEL_EVENT,
> - &msg);
> + dispatcher_send_message_generic(DISPATCHER(self),
> main_dispatcher_handle_channel_event,
> + &msg, sizeof(msg), false);
> }
>
>
> @@ -214,8 +205,8 @@ void
> main_dispatcher_seamless_migrate_dst_complete(MainDispatcher *self,
> }
>
> msg.client = g_object_ref(client);
> - dispatcher_send_message(DISPATCHER(self),
> MAIN_DISPATCHER_MIGRATE_SEAMLESS_DST_COMPLETE,
> - &msg);
> + dispatcher_send_message_generic(DISPATCHER(self),
> main_dispatcher_handle_migrate_complete,
> + &msg, sizeof(msg), false);
> }
>
> void main_dispatcher_set_mm_time_latency(MainDispatcher *self,
> RedClient *client, uint32_t latency)
> @@ -229,8 +220,8 @@ void
> main_dispatcher_set_mm_time_latency(MainDispatcher *self, RedClient
> *client
>
> msg.client = g_object_ref(client);
> msg.latency = latency;
> - dispatcher_send_message(DISPATCHER(self),
> MAIN_DISPATCHER_SET_MM_TIME_LATENCY,
> - &msg);
> + dispatcher_send_message_generic(DISPATCHER(self),
> main_dispatcher_handle_mm_time_latency,
> + &msg, sizeof(msg), false);
> }
>
> void main_dispatcher_client_disconnect(MainDispatcher *self,
> RedClient *client)
> @@ -240,8 +231,8 @@ void
> main_dispatcher_client_disconnect(MainDispatcher *self, RedClient
> *client)
> if (!red_client_is_disconnecting(client)) {
> spice_debug("client %p", client);
> msg.client = g_object_ref(client);
> - dispatcher_send_message(DISPATCHER(self),
> MAIN_DISPATCHER_CLIENT_DISCONNECT,
> - &msg);
> + dispatcher_send_message_generic(DISPATCHER(self),
> main_dispatcher_handle_client_disconnect,
> + &msg, sizeof(msg), false);
> } else {
> spice_debug("client %p already during disconnection",
> client);
> }
> @@ -263,7 +254,6 @@ MainDispatcher* main_dispatcher_new(RedsState
> *reds)
> {
> MainDispatcher *self = g_object_new(TYPE_MAIN_DISPATCHER,
> "spice-server", reds,
> - "max-message-type",
> MAIN_DISPATCHER_NUM_MESSAGES,
> NULL);
> return self;
> }
> @@ -280,18 +270,6 @@ void main_dispatcher_constructed(GObject
> *object)
> dispatcher_get_recv_fd(DISPATCHER(self))
> ,
> SPICE_WATCH_EVENT_READ,
> dispatcher_handle_read,
> DISPATCHER(self));
> - dispatcher_register_handler(DISPATCHER(self),
> MAIN_DISPATCHER_CHANNEL_EVENT,
> - main_dispatcher_handle_channel_event
> ,
> - sizeof(MainDispatcherChannelEventMes
> sage), false);
> - dispatcher_register_handler(DISPATCHER(self),
> MAIN_DISPATCHER_MIGRATE_SEAMLESS_DST_COMPLETE,
> - main_dispatcher_handle_migrate_compl
> ete,
> - sizeof(MainDispatcherMigrateSeamless
> DstCompleteMessage), false);
> - dispatcher_register_handler(DISPATCHER(self),
> MAIN_DISPATCHER_SET_MM_TIME_LATENCY,
> - main_dispatcher_handle_mm_time_laten
> cy,
> - sizeof(MainDispatcherMmTimeLatencyMe
> ssage), false);
> - dispatcher_register_handler(DISPATCHER(self),
> MAIN_DISPATCHER_CLIENT_DISCONNECT,
> - main_dispatcher_handle_client_discon
> nect,
> - sizeof(MainDispatcherClientDisconnec
> tMessage), false);
> }
>
> static void main_dispatcher_finalize(GObject *object)
More information about the Spice-devel
mailing list