Skip to content
  • Manuel Stoeckl's avatar
    connection: Dynamically resize connection buffers · d074d529
    Manuel Stoeckl authored and Simon Ser's avatar Simon Ser committed
    When using fixed size connection buffers, if either the client or the
    server is sending requests faster than the other end can cope with, the
    connection buffers will fill up, eventually killing the connection.
    
    This can be a problem for example with Xwayland mapping a lot of
    windows, faster than the Wayland compositor can cope with, or a
    high-rate mouse flooding the Wayland client with pointer events.
    
    To avoid the issue, resize the connection buffers dynamically when they
    get full.
    
    Both data and fd buffers are resized on demand.
    
    The default max buffer size is controlled via the wl_display interface
    while each client's connection buffer size is adjustable for finer
    control.
    
    The purpose is to explicitly have larger connection buffers for specific
    clients such as Xwayland, or set a larger buffer size for the client
    with pointer focus to deal with a higher input events rate.
    
    v0: Manuel:
       Dynamically resize connection buffers - Both data and fd buffers a...
    d074d529