From mboxrd@z Thu Jan 1 00:00:00 1970 From: smiley@icebubble.org To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Date: Wed, 15 Oct 2014 15:56:14 +0000 Message-ID: <86iojlmin5.fsf@cmarib.ramside> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: [9fans] server push in 9P protocol Topicbox-Message-UUID: 1d217ce0-ead9-11e9-9d60-3106f5b1d025 Hello, I'm wondering if there is any way to do server push using the 9P protocol. I'm trying to imagine use of 9P for applications such as data acquisition. One example might be caputing MIDI messages from digital musical instruments. As I understand the protocol, if an instrument served MIDI over 9P, every MIDI message would have to be explicitly requested with a Tread. And the instrument would have to wait for a Tread in order to send data. If the instrument (server) sent more than one Rread with the same tag, that would be a violation of the protocol. It might be possible to reverse roles: for the instrument to act as a 9P client and treat the MIDI host as a 9P server. In that case, each MIDI message could take the form of a Twrite to the MIDI host. But that would generate a series of Rwrites back from the host to the instrument, which would be unnecessary and have to be ignored. Another example might be isochronous data streams, such as video captured at a fixed framerate from a video capture device. Having to send the same Tread or Rread 30x/second seems silly. So, is there any way use 9P in a server-push mode, where the server spits out a stream of data to be captured? Thanks!