[RFC v2 wayland-protocols] inputfd - direct input access protocol
Stephan Sokolow (You actually CAN reply)
noreply at ssokolow.com
Mon Apr 24 09:22:05 UTC 2017
NOTE: I'm not sure what my current status with the list is, so this
could take a LONG time to show up in the list if it gets stuck in the
moderation queue.
On 17-04-24 03:57 AM, Pekka Paalanen wrote:
> The downside of a secondary communication channel is that it will be
> hard to correlate between messages on the two channels. If you issue an
> "ioctl" that somehow changes the content of the messages you are
> receiving, how do you know which incoming input events are with the new
> setup? That would need to be taken into account already when designing
> the input event (primary communication channel) messages. Whether evdev
> has any of this, I do not know.
>
> If there is only one communication channel, the replies to control
> messages will arrive to the client between input events, which
> makes it implicitly obvious which input events are affected by the new
> control setting. The downside of a single channel is that implementing
> "blocking ioctls" requires at least receiving and buffering, if not
> dispatching, all input events until the reply to the "ioctl". If you
> buffer incoming events anyway, this shouldn't be a problem.
Just a point to keep in mind that this would have to be clearly and
explicitly stated in the spec.
Otherwise, it'd be perfectly possible for an implementer who's doing a
lot of async-style coding or multiplexing on the compositor side to
produce something spec-compliant but with the same downsides as a
multi-channel approach.
In fact, given the desirability of minimal latency for things like
head-tracking and high-resolution input devices, I think that'd be a
significant risk purely as a side-effect of someone not realizing that
removing/shrinking buffer X in some codebase breaks the spec by breaking
ordering enforcement.
(So, really, the best way to think about it wouldn't be "ordered vs.
unordered" but "Is it the responsibility of the compositor or the client
to enforce ordering?" (With the latter requiring events to either have
timestamps or some other dependency/state-tracking information.))
--
Stephan Sokolow
Note: My e-mail address IS valid. It's a little trick I use to fool
"smarter" spambots and remind friends and family to use the custom
aliases I gave them.
More information about the wayland-devel
mailing list