Yesterday evening me and Jonathon discussed about his patches for RedChannel vfuncs. We agreed that the function should be vfuncs however the patches didn't seem really great to me so we discussed different reasons. Came out with this series which is working pretty well. Probably I should add some comments/documentation in the code too, some changes: - RedChannel allows to be associated with a Dispatcher that will be used if the channel is run in different thread; - Dispatcher allows to manage not registered events (used to avoid allocating multiple dispatchers for a thread and reuse for instance RedWorker ones in RedChannel); - Jonathon original patches get rebased into the series, first patch went away, second got integrated encapsulating better DisplayChannel. Some patches are style/preparation. Currently Gitlab CI is experiencing some issues but yesterday executions were fine and my tests seems to work correctly. Frediano Ziglio (9): dispatcher: Use NULL for pointer check dispatcher: Allows to manage message without registering them main-dispatcher: Remove main_dispatcher_self_handle_channel_event main-dispatcher: Use reds as opaque for dispatcher main-dispatcher: Use dispatcher_send_message_generic Move thread/dispatching handling to RedChannel Propagate running property from RedWorker to DisplayChannel Move DisplayChannel callbacks from RedWorker to DisplayChannel Make some function static Jonathon Jongsma (1): Make channel client callbacks virtual functions server/cursor-channel.c | 19 ++- server/cursor-channel.h | 14 +-- server/dispatcher.c | 73 ++++++++---- server/dispatcher.h | 15 +++ server/display-channel-private.h | 1 + server/display-channel.c | 125 ++++++++++++++++++++ server/display-channel.h | 3 + server/inputs-channel.c | 9 +- server/main-channel.c | 7 +- server/main-dispatcher.c | 67 +++-------- server/red-channel.c | 139 ++++++++++++++++++---- server/red-channel.h | 19 ++- server/red-qxl.c | 110 +----------------- server/red-replay-qxl.c | 3 - server/red-stream-device.c | 7 +- server/red-worker.c | 192 +------------------------------ server/red-worker.h | 46 ++------ server/smartcard.c | 6 +- server/sound.c | 18 ++- server/spicevmc.c | 7 +- server/stream-channel.c | 5 +- server/tests/test-channel.c | 13 +-- 22 files changed, 389 insertions(+), 509 deletions(-) -- 2.20.1 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel