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, MilesReceived on Friday, 31 January 2003 13:51:15 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 27 October 2009 06:35:56 GMT