Skip to content

Make desktop resizing interface async - #2074

Draft
CendioHalim wants to merge 1 commit into
TigerVNC:masterfrom
CendioHalim:setdesktopsize-async
Draft

Make desktop resizing interface async#2074
CendioHalim wants to merge 1 commit into
TigerVNC:masterfrom
CendioHalim:setdesktopsize-async

Conversation

@CendioHalim

Copy link
Copy Markdown
Contributor

This change makes it possible to implement an SDesktop that resizes asynchronously.

The current implementation only allows one resize to be happening at the same time. Requests that are received while a resize is already happening will be denied.

This commit is done in preparation for adding resize support to the WaylandDesktop.

Leaving this as draft since the timeout handling isn't robust, and the interface needs some slight changes: the VNCServer probably shouldn't have setScreenLayoutDone() be public.

This change makes it possible to implement an SDesktop that resizes
asynchronously.

The current implementation only allows one resize to be happening at the
same time. Requests that are received while a resize is already
happening will be denied.

This commit is done in preparation for adding resize support to the
WaylandDesktop.
@CendioOssman

Copy link
Copy Markdown
Member

Having setScreenLayoutDone() be part of the public interface is the correct approach. Compare it with approveConnection().

What I'm more concerned about is how it coexists with setPixelBuffer() and setScreenLayout(). I think it would be more robust if we could make sure that is atomic (i.e. a single call), rather than multiple calls.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants