From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: To: 9fans@9fans.net Date: Sat, 18 Jul 2009 10:20:11 -0700 From: Skip Tavakkolian <9nut@9netics.com> In-Reply-To: <20090718074338.1A91D5B18@mail.bitblocks.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] channels across machines Topicbox-Message-UUID: 25d7601a-ead5-11e9-9d60-3106f5b1d025 > Or is there a better idea? This certainly seems preferable > to RPC or plain byte pipes for communicating structured > values. i have some incomplete ideas that are tangentially related to this -- more for handling interfaces. it seems one could write a compiler that translates an interface definition (e.g. IDL) into a server and a client library; 9p(2) and ioproc(2) can be readily used in the generated code to do the tricky stuff. the main part then becomes how to translate the calls across. conventionally the server for an interface with an ID of X (e.g. GUID) is posted to /srv/X. for a given method bar in interface foo, writing to /n/foo/bar ( /srv/X mounted on /n/foo) would invoke foo:bar wherever it is. obviously when the reader/writer are generated, the types and sizes of parameters are known. -Skip