From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <8935727bfb98e59a33fb7a243441ed8f@terzarima.net> References: <8935727bfb98e59a33fb7a243441ed8f@terzarima.net> Date: Fri, 20 Mar 2009 11:28:22 +0000 Message-ID: From: roger peppe To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [9fans] Raw Input Driver Topicbox-Message-UUID: c0306446-ead4-11e9-9d60-3106f5b1d025 2009/3/20 Charles Forsyth : > the ordering problem is misleading: you need timely response for > interactive applications; it's a reasonably straightforward application > of real-time programming. =C2=A0(by the way, if you're passing low-level > things like that across lossy wireless networks, you're possibly > not addressing the most relevant problem first.) =C2=A0the effects you're= trying to synchronise > are typically changes to data structures inside a program (including effe= cts on the display), > so that's where the synchronisation and interlocking should be. does that mean we shouldn't do graphics over cpu over a slowish connection? because as things stand, ordering can easily get mucked up in that case, and in acme that leads to situations where typed te= xt you expect to go in one window actually goes into another. i don't think there's a solution to this at the client side (key presses don't arrive with timestamps, and even if they did, how long would we wait?), so i can understand people thinking about a server-side solution. one possibility would be to have a server that did a general "merge event files" operation, and have the importing client do the de-multiplexing operation - that way at least you'd get the same file interface. but there's still no guarantee. yes, the streams are separate at the originating source, but they actually originate from the same person, who has a pretty good idea of which event they generated first. when that information can get lost in transit, giving unexpected results, there's something wrong.