-
Notifications
You must be signed in to change notification settings - Fork 151
WIP Configurable maximum buffer size #855
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
To match the behavior of `libwayland-client`, we should default to unbounded buffers; while servers should only use bounded buffers. I'm not sure why using `roundtrip()` gets `WouldBlock` with `client_system,server_system`, but not with just `client_system`...
Matches behavior of `libwayland` and the `sys` backend.
This is necessary to increase on higher-end systems (high polling rate hardware/high refresh-rate) to avoid crashing some apps that cannot keep up with the event loop momentarily
fix buffer size set WIP
|
Hm, I though it was safe to rely on https://gitlab.freedesktop.org/wayland/wayland/-/commit/d074d52902633d8700ce06b484508db0f8fba02b, since the commit is dated 2021, but it was only merged in 2024. So like #735, we probably want to use elinorbgr/dlib#22. |
|
is there any way I can help with this? (as mostly an outsider, although I have some Rust experience) |
|
If anyone has an idea why the CI for #851 is hanging or how to reproduce it locally (or a better way to implement the test) that would be helpful, though probably not an easy thing to help with for anyone not already familiar with the internals of wayland-rs. The other thing is what we want to do with the fact this requires a new libwayland version.
Otherwise I don't really need help with some of the smaller things that need to be added here; I can just do those if these questions can be worked out, and those shouldn't take too long... Edit: Oh, and |
|
It seems like @elinorbgr has left GitHub in 2024 though? |
Adds a test and
rsbackend implementation for the function added in #815, based on top of #851.I still want to add bindings (and
rsimpls) corresponding towl_display_set_max_buffer_sizeandwl_client_set_max_buffer_size, but that shouldn't be hard. The main thing is adding support to thersbackend, and verifying consistent behavior.We'll need add rounding to the
rsbackend likeget_max_size_bits_for_sizein libwayland. Maybe it would be best to useNonZeroUsizein the server andOption<NonZeroUsize>in the client, to express that unbounded buffering is an option, but only in the client...