xpra icon
Bug tracker and wiki

Opened 3 years ago

Closed 3 years ago

#621 closed defect (fixed)

clipboard code should not compress in the UI thread, not assume zlib

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: critical Milestone: 0.14
Component: core Version: 0.12.x
Keywords: Cc:

Description

Difficulty is that the clipboard knows nothing about compression feature availability, as it is not directly tied to a client connection, at least on the server. When a new client comes in, we just hand over the clipboard instance...

Also, it does not have access to the per-client encoding thread, which would be the ideal place for slotting the compression work...

Change History (2)

comment:1 Changed 3 years ago by Antoine Martin

Owner: changed from Antoine Martin to Antoine Martin
Status: newassigned

Groundwork done in r7041, we no longer assume zlib.

Remains:

  • on the server: compress using the self.damage_data_queue (which should be renamed as compression queue or something more generic), or using a wrapper telling the network encode layer to do it
  • on the client: we don't have any work queues, so it will probably have to be done by the network layer
Last edited 3 years ago by Antoine Martin (previous) (diff)

comment:2 Changed 3 years ago by Antoine Martin

Resolution: fixed
Status: assignedclosed
  • server encodes from the 'encode' thread as of r7049 - which means that clipboard can no longer arrive before the screen updates that go with it
  • client encodes from the 'format' network thread as of r7051

Some ugly code remains in compressed_wrapper calls, but that is now well isolated and can be dealt with later.

Note: See TracTickets for help on using tickets.