xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.

Opened 6 years ago

Last modified 16 months ago

#1124 assigned enhancement

interleaving network packets

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: improbable
Component: network Version: trunk
Keywords: Cc:


Some packets can be quite big, in particular 'paint' and 'file-transfer' packets.

It would be nice if we could chunk them to allow other types of packets through without delay.
ie: allowing sound packets through more quickly, which would keep the client's sound queue at a lower level and is better for achieving sound sync (#835).

This is very likely to overlap with UDP (#639) and file chunking (#1026). It would be nice to find a solution generic enough to work with both TCP and UDP.

Things to think about:

  • the receive buffers could consume a lot of memory
  • how many packets can be interleaved? (not more than 1 I think)
  • UDP re-transmit for file chunking
  • paint packet may then arrive after a window has been resized or minimized - which may cause errors..
  • encryption..
  • sound queue adjustments to tolerate packet loss
  • ping packets: it would actually be useful to have both delayed and undelayed ones? would tell us how much is being interleaved?

Change History (3)

comment:1 Changed 6 years ago by Antoine Martin

Milestone: 0.18future
Status: newassigned

#1026 was done a different way because it really is special, so now we can delay this ticket - which is much more difficult and should probably only be done after UDP and other network tweaks, if ever.
If needed, we can handle large paint packets by splitting the damage into smaller regions, which will then travel in separate packets.

comment:2 Changed 4 years ago by Antoine Martin

Milestone: futureimprobable

comment:3 Changed 16 months ago by migration script

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1124

Note: See TracTickets for help on using tickets.