- From: Miles Sabin <miles@milessabin.com>
- Date: Fri, 31 Jan 2003 18:50:43 +0000
- To: public-ws-chor@w3.org
Assaf Arkin wrote, > I never thought of it that way, but you are absolutely right! > > You could say that a file stream or a datagram are processes that are > passed by name from one process (isolate) to another process > (isolate). And of course an isolate process could be passed by name > to another isolate process. At the risk of cluttering this list with OT postings ... You could, but it's actually IsolateMessages containing Links that are the real manifestation of mobility. I prefer to think of the other I/O types as being closer to capabilities (tho' I'd agree that there are a lot of connections between mobility and capabilities). Here's a Link example ... we have a manager isolate which controls access to a resource-providing isolate. Clients request a link to the resource isolate from the manager, then communicate with the resource via that link, // In the client Link returnLink = Link.newLink(manager, Isolate.currentIsolate()); IsolateMessage request = IsolateMessage.newCompositeMessage( new IsolateMessage[] { IsolateMessage.newIsolateMessage(Isolate.currentIsolate()) IsolateMessage.newLinkMessage(returnLink) }); linkToManager.send(request); Link accessLink = returnLink.receive().getLink(); // now communicate with resource via accessLink ... // In the manager IsolateMessage[] request = linkFromClient.receive().getComposite(); Isolate client = request[0].getIsolate(); Link returnLink = request[1].getLink(); Link accessLink = Link.newLink(client, resource); IsolateMessage accessLinkMsg = IsolateMessage.newLinkMessage(clientLinkToResource); linkToResource.send(accessLink); returnLink.send(accessLink); // In the resource Link accessLink = managerLink.receive().getLink(); // now communicate with the client via accessLink If you've done much with Pi, this should seem fairly familiar. Cheers, Miles
Received on Friday, 31 January 2003 13:51:15 UTC